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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/admin/BackgroundTaskRoutes.d.ts +2 -0
  4. package/admin/BackgroundTaskRoutes.js +70 -0
  5. package/admin/BackgroundTaskRoutes.js.map +1 -0
  6. package/admin/BackgroundTasks.d.ts +2 -0
  7. package/admin/BackgroundTasks.js +55 -0
  8. package/admin/BackgroundTasks.js.map +1 -0
  9. package/admin/features/abortTask/AbortTaskGateway.d.ts +12 -0
  10. package/admin/features/abortTask/AbortTaskGateway.js +62 -0
  11. package/admin/features/abortTask/AbortTaskGateway.js.map +1 -0
  12. package/admin/features/abortTask/AbortTaskUseCase.d.ts +11 -0
  13. package/admin/features/abortTask/AbortTaskUseCase.js +18 -0
  14. package/admin/features/abortTask/AbortTaskUseCase.js.map +1 -0
  15. package/admin/features/abortTask/abstractions.d.ts +19 -0
  16. package/admin/features/abortTask/abstractions.js +6 -0
  17. package/admin/features/abortTask/abstractions.js.map +1 -0
  18. package/admin/features/abortTask/feature.d.ts +3 -0
  19. package/admin/features/abortTask/feature.js +19 -0
  20. package/admin/features/abortTask/feature.js.map +1 -0
  21. package/admin/features/abortTask/index.d.ts +2 -0
  22. package/admin/features/abortTask/index.js +2 -0
  23. package/admin/features/deleteTask/DeleteTaskGateway.d.ts +11 -0
  24. package/admin/features/deleteTask/DeleteTaskGateway.js +41 -0
  25. package/admin/features/deleteTask/DeleteTaskGateway.js.map +1 -0
  26. package/admin/features/deleteTask/DeleteTaskUseCase.d.ts +10 -0
  27. package/admin/features/deleteTask/DeleteTaskUseCase.js +18 -0
  28. package/admin/features/deleteTask/DeleteTaskUseCase.js.map +1 -0
  29. package/admin/features/deleteTask/abstractions.d.ts +14 -0
  30. package/admin/features/deleteTask/abstractions.js +6 -0
  31. package/admin/features/deleteTask/abstractions.js.map +1 -0
  32. package/admin/features/deleteTask/feature.d.ts +3 -0
  33. package/admin/features/deleteTask/feature.js +19 -0
  34. package/admin/features/deleteTask/feature.js.map +1 -0
  35. package/admin/features/deleteTask/index.d.ts +2 -0
  36. package/admin/features/deleteTask/index.js +2 -0
  37. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.d.ts +12 -0
  38. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.js +40 -0
  39. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.js.map +1 -0
  40. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.d.ts +11 -0
  41. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.js +18 -0
  42. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.js.map +1 -0
  43. package/admin/features/getBackgroundTaskSettings/abstractions.d.ts +15 -0
  44. package/admin/features/getBackgroundTaskSettings/abstractions.js +6 -0
  45. package/admin/features/getBackgroundTaskSettings/abstractions.js.map +1 -0
  46. package/admin/features/getBackgroundTaskSettings/feature.d.ts +3 -0
  47. package/admin/features/getBackgroundTaskSettings/feature.js +19 -0
  48. package/admin/features/getBackgroundTaskSettings/feature.js.map +1 -0
  49. package/admin/features/getBackgroundTaskSettings/index.d.ts +3 -0
  50. package/admin/features/getBackgroundTaskSettings/index.js +2 -0
  51. package/admin/features/getTask/GetTaskGateway.d.ts +12 -0
  52. package/admin/features/getTask/GetTaskGateway.js +61 -0
  53. package/admin/features/getTask/GetTaskGateway.js.map +1 -0
  54. package/admin/features/getTask/GetTaskUseCase.d.ts +11 -0
  55. package/admin/features/getTask/GetTaskUseCase.js +18 -0
  56. package/admin/features/getTask/GetTaskUseCase.js.map +1 -0
  57. package/admin/features/getTask/abstractions.d.ts +15 -0
  58. package/admin/features/getTask/abstractions.js +6 -0
  59. package/admin/features/getTask/abstractions.js.map +1 -0
  60. package/admin/features/getTask/feature.d.ts +3 -0
  61. package/admin/features/getTask/feature.js +19 -0
  62. package/admin/features/getTask/feature.js.map +1 -0
  63. package/admin/features/getTask/index.d.ts +2 -0
  64. package/admin/features/getTask/index.js +2 -0
  65. package/admin/features/listDefinitions/ListDefinitionsGateway.d.ts +12 -0
  66. package/admin/features/listDefinitions/ListDefinitionsGateway.js +42 -0
  67. package/admin/features/listDefinitions/ListDefinitionsGateway.js.map +1 -0
  68. package/admin/features/listDefinitions/ListDefinitionsUseCase.d.ts +11 -0
  69. package/admin/features/listDefinitions/ListDefinitionsUseCase.js +18 -0
  70. package/admin/features/listDefinitions/ListDefinitionsUseCase.js.map +1 -0
  71. package/admin/features/listDefinitions/abstractions.d.ts +15 -0
  72. package/admin/features/listDefinitions/abstractions.js +6 -0
  73. package/admin/features/listDefinitions/abstractions.js.map +1 -0
  74. package/admin/features/listDefinitions/feature.d.ts +3 -0
  75. package/admin/features/listDefinitions/feature.js +19 -0
  76. package/admin/features/listDefinitions/feature.js.map +1 -0
  77. package/admin/features/listDefinitions/index.d.ts +2 -0
  78. package/admin/features/listDefinitions/index.js +2 -0
  79. package/admin/features/listLogs/ListLogsGateway.d.ts +11 -0
  80. package/admin/features/listLogs/ListLogsGateway.js +73 -0
  81. package/admin/features/listLogs/ListLogsGateway.js.map +1 -0
  82. package/admin/features/listLogs/ListLogsUseCase.d.ts +10 -0
  83. package/admin/features/listLogs/ListLogsUseCase.js +18 -0
  84. package/admin/features/listLogs/ListLogsUseCase.js.map +1 -0
  85. package/admin/features/listLogs/abstractions.d.ts +30 -0
  86. package/admin/features/listLogs/abstractions.js +6 -0
  87. package/admin/features/listLogs/abstractions.js.map +1 -0
  88. package/admin/features/listLogs/feature.d.ts +3 -0
  89. package/admin/features/listLogs/feature.js +19 -0
  90. package/admin/features/listLogs/feature.js.map +1 -0
  91. package/admin/features/listLogs/index.d.ts +2 -0
  92. package/admin/features/listLogs/index.js +2 -0
  93. package/admin/features/listTasks/ListTasksGateway.d.ts +11 -0
  94. package/admin/features/listTasks/ListTasksGateway.js +79 -0
  95. package/admin/features/listTasks/ListTasksGateway.js.map +1 -0
  96. package/admin/features/listTasks/ListTasksUseCase.d.ts +10 -0
  97. package/admin/features/listTasks/ListTasksUseCase.js +18 -0
  98. package/admin/features/listTasks/ListTasksUseCase.js.map +1 -0
  99. package/admin/features/listTasks/abstractions.d.ts +31 -0
  100. package/admin/features/listTasks/abstractions.js +6 -0
  101. package/admin/features/listTasks/abstractions.js.map +1 -0
  102. package/admin/features/listTasks/feature.d.ts +3 -0
  103. package/admin/features/listTasks/feature.js +19 -0
  104. package/admin/features/listTasks/feature.js.map +1 -0
  105. package/admin/features/listTasks/index.d.ts +2 -0
  106. package/admin/features/listTasks/index.js +2 -0
  107. package/admin/features/permissions/abstractions.d.ts +17 -0
  108. package/admin/features/permissions/abstractions.js +6 -0
  109. package/admin/features/permissions/abstractions.js.map +1 -0
  110. package/admin/features/permissions/feature.d.ts +14 -0
  111. package/admin/features/permissions/feature.js +7 -0
  112. package/admin/features/permissions/feature.js.map +1 -0
  113. package/admin/features/permissions/index.d.ts +2 -0
  114. package/admin/features/permissions/index.js +2 -0
  115. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.d.ts +12 -0
  116. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js +43 -0
  117. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js.map +1 -0
  118. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +11 -0
  119. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +18 -0
  120. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  121. package/admin/features/updateBackgroundTaskSettings/abstractions.d.ts +18 -0
  122. package/admin/features/updateBackgroundTaskSettings/abstractions.js +6 -0
  123. package/admin/features/updateBackgroundTaskSettings/abstractions.js.map +1 -0
  124. package/admin/features/updateBackgroundTaskSettings/feature.d.ts +3 -0
  125. package/admin/features/updateBackgroundTaskSettings/feature.js +19 -0
  126. package/admin/features/updateBackgroundTaskSettings/feature.js.map +1 -0
  127. package/admin/features/updateBackgroundTaskSettings/index.d.ts +3 -0
  128. package/admin/features/updateBackgroundTaskSettings/index.js +2 -0
  129. package/admin/index.d.ts +2 -0
  130. package/admin/index.js +2 -0
  131. package/admin/permissions.d.ts +12 -0
  132. package/admin/permissions.js +22 -0
  133. package/admin/permissions.js.map +1 -0
  134. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.d.ts +21 -0
  135. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js +86 -0
  136. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js.map +1 -0
  137. package/admin/presentation/BackgroundTaskSettings/abstractions.d.ts +16 -0
  138. package/admin/presentation/BackgroundTaskSettings/abstractions.js +5 -0
  139. package/admin/presentation/BackgroundTaskSettings/abstractions.js.map +1 -0
  140. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.d.ts +2 -0
  141. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js +56 -0
  142. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js.map +1 -0
  143. package/admin/presentation/BackgroundTaskSettings/feature.d.ts +3 -0
  144. package/admin/presentation/BackgroundTaskSettings/feature.js +17 -0
  145. package/admin/presentation/BackgroundTaskSettings/feature.js.map +1 -0
  146. package/admin/presentation/BackgroundTaskSettings/index.d.ts +2 -0
  147. package/admin/presentation/BackgroundTaskSettings/index.js +2 -0
  148. package/admin/presentation/TaskDefinitions/TaskDefinitionsPresenter.d.ts +14 -0
  149. package/admin/presentation/TaskDefinitions/TaskDefinitionsPresenter.js +41 -0
  150. package/admin/presentation/TaskDefinitions/TaskDefinitionsPresenter.js.map +1 -0
  151. package/admin/presentation/TaskDefinitions/abstractions.d.ts +14 -0
  152. package/admin/presentation/TaskDefinitions/abstractions.js +5 -0
  153. package/admin/presentation/TaskDefinitions/abstractions.js.map +1 -0
  154. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.d.ts +2 -0
  155. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js +76 -0
  156. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js.map +1 -0
  157. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.d.ts +2 -0
  158. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js +16 -0
  159. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js.map +1 -0
  160. package/admin/presentation/TaskDefinitions/feature.d.ts +3 -0
  161. package/admin/presentation/TaskDefinitions/feature.js +17 -0
  162. package/admin/presentation/TaskDefinitions/feature.js.map +1 -0
  163. package/admin/presentation/TaskDefinitions/index.d.ts +2 -0
  164. package/admin/presentation/TaskDefinitions/index.js +2 -0
  165. package/admin/presentation/TaskDetail/TaskDetailPresenter.d.ts +24 -0
  166. package/admin/presentation/TaskDetail/TaskDetailPresenter.js +87 -0
  167. package/admin/presentation/TaskDetail/TaskDetailPresenter.js.map +1 -0
  168. package/admin/presentation/TaskDetail/abstractions.d.ts +24 -0
  169. package/admin/presentation/TaskDetail/abstractions.js +5 -0
  170. package/admin/presentation/TaskDetail/abstractions.js.map +1 -0
  171. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.d.ts +11 -0
  172. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.js +270 -0
  173. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.js.map +1 -0
  174. package/admin/presentation/TaskDetail/feature.d.ts +3 -0
  175. package/admin/presentation/TaskDetail/feature.js +17 -0
  176. package/admin/presentation/TaskDetail/feature.js.map +1 -0
  177. package/admin/presentation/TaskDetail/index.d.ts +2 -0
  178. package/admin/presentation/TaskDetail/index.js +2 -0
  179. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.d.ts +15 -0
  180. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js +91 -0
  181. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js.map +1 -0
  182. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.d.ts +54 -0
  183. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js +109 -0
  184. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js.map +1 -0
  185. package/admin/presentation/TaskExecutions/abstractions.d.ts +28 -0
  186. package/admin/presentation/TaskExecutions/abstractions.js +5 -0
  187. package/admin/presentation/TaskExecutions/abstractions.js.map +1 -0
  188. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.d.ts +2 -0
  189. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js +16 -0
  190. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js.map +1 -0
  191. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.d.ts +2 -0
  192. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js +341 -0
  193. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js.map +1 -0
  194. package/admin/presentation/TaskExecutions/feature.d.ts +3 -0
  195. package/admin/presentation/TaskExecutions/feature.js +17 -0
  196. package/admin/presentation/TaskExecutions/feature.js.map +1 -0
  197. package/admin/presentation/TaskExecutions/index.d.ts +2 -0
  198. package/admin/presentation/TaskExecutions/index.js +2 -0
  199. package/admin/presentation/security/HasPermission.d.ts +12 -0
  200. package/admin/presentation/security/HasPermission.js +6 -0
  201. package/admin/presentation/security/HasPermission.js.map +1 -0
  202. package/admin/presentation/security/usePermissions.d.ts +12 -0
  203. package/admin/presentation/security/usePermissions.js +6 -0
  204. package/admin/presentation/security/usePermissions.js.map +1 -0
  205. package/admin/routes.d.ts +6 -0
  206. package/admin/routes.js +18 -0
  207. package/admin/routes.js.map +1 -0
  208. package/admin/shared/types.d.ts +18 -0
  209. package/admin/shared/types.js +0 -0
  210. package/api/BackgroundTasksFeature.d.ts +4 -0
  211. package/api/BackgroundTasksFeature.js +59 -0
  212. package/api/BackgroundTasksFeature.js.map +1 -0
  213. package/api/TasksCrud.d.ts +10 -0
  214. package/api/TasksCrud.js +5 -0
  215. package/api/TasksCrud.js.map +1 -0
  216. package/api/abstractions/Timer.d.ts +1 -0
  217. package/api/abstractions/Timer.js +0 -0
  218. package/api/abstractions/index.d.ts +1 -0
  219. package/api/abstractions/index.js +1 -0
  220. package/api/crud/TaskLogPrivateModel.d.ts +9 -0
  221. package/api/crud/TaskLogPrivateModel.js +40 -0
  222. package/api/crud/TaskLogPrivateModel.js.map +1 -0
  223. package/api/crud/TaskPrivateModel.d.ts +9 -0
  224. package/api/crud/TaskPrivateModel.js +55 -0
  225. package/api/crud/TaskPrivateModel.js.map +1 -0
  226. package/api/crud/cleanupTaskSubtree.d.ts +8 -0
  227. package/api/crud/cleanupTaskSubtree.js +63 -0
  228. package/api/crud/cleanupTaskSubtree.js.map +1 -0
  229. package/api/crud/crud.tasks.d.ts +3 -0
  230. package/api/crud/crud.tasks.js +318 -0
  231. package/api/crud/crud.tasks.js.map +1 -0
  232. package/api/crud/definition.tasks.d.ts +3 -0
  233. package/api/crud/definition.tasks.js +17 -0
  234. package/api/crud/definition.tasks.js.map +1 -0
  235. package/api/crud/service.tasks.d.ts +3 -0
  236. package/api/crud/service.tasks.js +132 -0
  237. package/api/crud/service.tasks.js.map +1 -0
  238. package/api/decorators/RunnableTaskDecorator.d.ts +32 -0
  239. package/api/decorators/RunnableTaskDecorator.js +69 -0
  240. package/api/decorators/RunnableTaskDecorator.js.map +1 -0
  241. package/api/decorators/SelfCleaningTaskDecorator.d.ts +30 -0
  242. package/api/decorators/SelfCleaningTaskDecorator.js +84 -0
  243. package/api/decorators/SelfCleaningTaskDecorator.js.map +1 -0
  244. package/api/domain/BackgroundTaskSettings.d.ts +3 -0
  245. package/api/domain/BackgroundTaskSettings.js +0 -0
  246. package/api/domain/TaskService.d.ts +12 -0
  247. package/api/domain/TaskService.js +5 -0
  248. package/api/domain/TaskService.js.map +1 -0
  249. package/api/domain/constants.d.ts +3 -0
  250. package/api/domain/constants.js +6 -0
  251. package/api/domain/constants.js.map +1 -0
  252. package/api/domain/errors.d.ts +57 -0
  253. package/api/domain/errors.js +101 -0
  254. package/api/domain/errors.js.map +1 -0
  255. package/api/events/TaskAfterCreateEvent.d.ts +6 -0
  256. package/api/events/TaskAfterCreateEvent.js +13 -0
  257. package/api/events/TaskAfterCreateEvent.js.map +1 -0
  258. package/api/events/TaskAfterDeleteEvent.d.ts +6 -0
  259. package/api/events/TaskAfterDeleteEvent.js +13 -0
  260. package/api/events/TaskAfterDeleteEvent.js.map +1 -0
  261. package/api/events/TaskAfterUpdateEvent.d.ts +6 -0
  262. package/api/events/TaskAfterUpdateEvent.js +13 -0
  263. package/api/events/TaskAfterUpdateEvent.js.map +1 -0
  264. package/api/events/TaskBeforeCreateEvent.d.ts +6 -0
  265. package/api/events/TaskBeforeCreateEvent.js +13 -0
  266. package/api/events/TaskBeforeCreateEvent.js.map +1 -0
  267. package/api/events/TaskBeforeDeleteEvent.d.ts +6 -0
  268. package/api/events/TaskBeforeDeleteEvent.js +13 -0
  269. package/api/events/TaskBeforeDeleteEvent.js.map +1 -0
  270. package/api/events/TaskBeforeUpdateEvent.d.ts +6 -0
  271. package/api/events/TaskBeforeUpdateEvent.js +13 -0
  272. package/api/events/TaskBeforeUpdateEvent.js.map +1 -0
  273. package/api/events/abstractions.d.ts +53 -0
  274. package/api/events/abstractions.js +10 -0
  275. package/api/events/abstractions.js.map +1 -0
  276. package/api/events/index.d.ts +7 -0
  277. package/api/events/index.js +7 -0
  278. package/api/features/AbortTask/AbortTaskUseCase.d.ts +9 -0
  279. package/api/features/AbortTask/AbortTaskUseCase.js +12 -0
  280. package/api/features/AbortTask/AbortTaskUseCase.js.map +1 -0
  281. package/api/features/AbortTask/abstractions.d.ts +25 -0
  282. package/api/features/AbortTask/abstractions.js +5 -0
  283. package/api/features/AbortTask/abstractions.js.map +1 -0
  284. package/api/features/AbortTask/feature.d.ts +4 -0
  285. package/api/features/AbortTask/feature.js +13 -0
  286. package/api/features/AbortTask/feature.js.map +1 -0
  287. package/api/features/AbortTask/index.d.ts +2 -0
  288. package/api/features/AbortTask/index.js +2 -0
  289. package/api/features/BackgroundTaskPermissions/abstractions.d.ts +17 -0
  290. package/api/features/BackgroundTaskPermissions/abstractions.js +6 -0
  291. package/api/features/BackgroundTaskPermissions/abstractions.js.map +1 -0
  292. package/api/features/BackgroundTaskPermissions/feature.d.ts +4 -0
  293. package/api/features/BackgroundTaskPermissions/feature.js +7 -0
  294. package/api/features/BackgroundTaskPermissions/feature.js.map +1 -0
  295. package/api/features/BackgroundTaskPermissions/index.d.ts +2 -0
  296. package/api/features/BackgroundTaskPermissions/index.js +2 -0
  297. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.d.ts +7 -0
  298. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js +11 -0
  299. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js.map +1 -0
  300. package/api/features/CleanupTaskSubtree/abstractions.d.ts +7 -0
  301. package/api/features/CleanupTaskSubtree/abstractions.js +5 -0
  302. package/api/features/CleanupTaskSubtree/abstractions.js.map +1 -0
  303. package/api/features/CleanupTaskSubtree/index.d.ts +2 -0
  304. package/api/features/CleanupTaskSubtree/index.js +2 -0
  305. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.d.ts +21 -0
  306. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js +63 -0
  307. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js.map +1 -0
  308. package/api/features/GetBackgroundTaskSettings/abstractions.d.ts +13 -0
  309. package/api/features/GetBackgroundTaskSettings/abstractions.js +5 -0
  310. package/api/features/GetBackgroundTaskSettings/abstractions.js.map +1 -0
  311. package/api/features/GetBackgroundTaskSettings/feature.d.ts +4 -0
  312. package/api/features/GetBackgroundTaskSettings/feature.js +11 -0
  313. package/api/features/GetBackgroundTaskSettings/feature.js.map +1 -0
  314. package/api/features/GetBackgroundTaskSettings/index.d.ts +2 -0
  315. package/api/features/GetBackgroundTaskSettings/index.js +2 -0
  316. package/api/features/GetTask/GetTaskUseCase.d.ts +9 -0
  317. package/api/features/GetTask/GetTaskUseCase.js +11 -0
  318. package/api/features/GetTask/GetTaskUseCase.js.map +1 -0
  319. package/api/features/GetTask/abstractions.d.ts +10 -0
  320. package/api/features/GetTask/abstractions.js +5 -0
  321. package/api/features/GetTask/abstractions.js.map +1 -0
  322. package/api/features/GetTask/feature.d.ts +4 -0
  323. package/api/features/GetTask/feature.js +13 -0
  324. package/api/features/GetTask/feature.js.map +1 -0
  325. package/api/features/GetTask/index.d.ts +2 -0
  326. package/api/features/GetTask/index.js +2 -0
  327. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.d.ts +12 -0
  328. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.js +27 -0
  329. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.js.map +1 -0
  330. package/api/features/GetTaskDefinition/abstractions.d.ts +17 -0
  331. package/api/features/GetTaskDefinition/abstractions.js +5 -0
  332. package/api/features/GetTaskDefinition/abstractions.js.map +1 -0
  333. package/api/features/GetTaskDefinition/feature.d.ts +4 -0
  334. package/api/features/GetTaskDefinition/feature.js +11 -0
  335. package/api/features/GetTaskDefinition/feature.js.map +1 -0
  336. package/api/features/GetTaskDefinition/index.d.ts +2 -0
  337. package/api/features/GetTaskDefinition/index.js +2 -0
  338. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.d.ts +11 -0
  339. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js +24 -0
  340. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js.map +1 -0
  341. package/api/features/ListTaskDefinitions/abstractions.d.ts +9 -0
  342. package/api/features/ListTaskDefinitions/abstractions.js +5 -0
  343. package/api/features/ListTaskDefinitions/abstractions.js.map +1 -0
  344. package/api/features/ListTaskDefinitions/feature.d.ts +4 -0
  345. package/api/features/ListTaskDefinitions/feature.js +11 -0
  346. package/api/features/ListTaskDefinitions/feature.js.map +1 -0
  347. package/api/features/ListTaskDefinitions/index.d.ts +2 -0
  348. package/api/features/ListTaskDefinitions/index.js +2 -0
  349. package/api/features/ListTasks/ListTasksUseCase.d.ts +10 -0
  350. package/api/features/ListTasks/ListTasksUseCase.js +11 -0
  351. package/api/features/ListTasks/ListTasksUseCase.js.map +1 -0
  352. package/api/features/ListTasks/abstractions.d.ts +13 -0
  353. package/api/features/ListTasks/abstractions.js +5 -0
  354. package/api/features/ListTasks/abstractions.js.map +1 -0
  355. package/api/features/ListTasks/feature.d.ts +4 -0
  356. package/api/features/ListTasks/feature.js +13 -0
  357. package/api/features/ListTasks/feature.js.map +1 -0
  358. package/api/features/ListTasks/index.d.ts +2 -0
  359. package/api/features/ListTasks/index.js +2 -0
  360. package/api/features/TaskController/TaskController.d.ts +49 -0
  361. package/api/features/TaskController/TaskController.js +71 -0
  362. package/api/features/TaskController/TaskController.js.map +1 -0
  363. package/api/features/TaskController/augmentation.d.ts +60 -0
  364. package/api/features/TaskController/augmentation.js +0 -0
  365. package/api/features/TaskController/index.d.ts +2 -0
  366. package/api/features/TaskController/index.js +2 -0
  367. package/api/features/TaskExecutionContext/TaskExecutionContext.d.ts +24 -0
  368. package/api/features/TaskExecutionContext/TaskExecutionContext.js +43 -0
  369. package/api/features/TaskExecutionContext/TaskExecutionContext.js.map +1 -0
  370. package/api/features/TaskExecutionContext/abstractions.d.ts +26 -0
  371. package/api/features/TaskExecutionContext/abstractions.js +5 -0
  372. package/api/features/TaskExecutionContext/abstractions.js.map +1 -0
  373. package/api/features/TaskExecutionContext/feature.d.ts +4 -0
  374. package/api/features/TaskExecutionContext/feature.js +11 -0
  375. package/api/features/TaskExecutionContext/feature.js.map +1 -0
  376. package/api/features/TaskExecutionContext/index.d.ts +1 -0
  377. package/api/features/TaskExecutionContext/index.js +1 -0
  378. package/api/features/TriggerTask/TriggerTaskUseCase.d.ts +9 -0
  379. package/api/features/TriggerTask/TriggerTaskUseCase.js +12 -0
  380. package/api/features/TriggerTask/TriggerTaskUseCase.js.map +1 -0
  381. package/api/features/TriggerTask/abstractions.d.ts +28 -0
  382. package/api/features/TriggerTask/abstractions.js +5 -0
  383. package/api/features/TriggerTask/abstractions.js.map +1 -0
  384. package/api/features/TriggerTask/feature.d.ts +4 -0
  385. package/api/features/TriggerTask/feature.js +13 -0
  386. package/api/features/TriggerTask/feature.js.map +1 -0
  387. package/api/features/TriggerTask/index.d.ts +2 -0
  388. package/api/features/TriggerTask/index.js +2 -0
  389. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.d.ts +23 -0
  390. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js +65 -0
  391. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js.map +1 -0
  392. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +14 -0
  393. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +27 -0
  394. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  395. package/api/features/UpdateBackgroundTaskSettings/abstractions.d.ts +26 -0
  396. package/api/features/UpdateBackgroundTaskSettings/abstractions.js +6 -0
  397. package/api/features/UpdateBackgroundTaskSettings/abstractions.js.map +1 -0
  398. package/api/features/UpdateBackgroundTaskSettings/feature.d.ts +4 -0
  399. package/api/features/UpdateBackgroundTaskSettings/feature.js +13 -0
  400. package/api/features/UpdateBackgroundTaskSettings/feature.js.map +1 -0
  401. package/api/features/UpdateBackgroundTaskSettings/index.d.ts +2 -0
  402. package/api/features/UpdateBackgroundTaskSettings/index.js +2 -0
  403. package/api/features/UpdateBackgroundTaskSettings/schema.d.ts +4 -0
  404. package/api/features/UpdateBackgroundTaskSettings/schema.js +8 -0
  405. package/api/features/UpdateBackgroundTaskSettings/schema.js.map +1 -0
  406. package/api/global.d.ts +1 -0
  407. package/api/global.js +1 -0
  408. package/api/graphql/BackgroundTasksContextualSchema.d.ts +21 -0
  409. package/api/graphql/BackgroundTasksContextualSchema.js +369 -0
  410. package/api/graphql/BackgroundTasksContextualSchema.js.map +1 -0
  411. package/api/graphql/checkPermissions.d.ts +7 -0
  412. package/api/graphql/checkPermissions.js +22 -0
  413. package/api/graphql/checkPermissions.js.map +1 -0
  414. package/api/graphql/utils.d.ts +9 -0
  415. package/api/graphql/utils.js +20 -0
  416. package/api/graphql/utils.js.map +1 -0
  417. package/api/handler/types.d.ts +21 -0
  418. package/api/handler/types.js +0 -0
  419. package/api/index.d.ts +12 -0
  420. package/api/index.js +11 -0
  421. package/api/models/BackgroundTaskSettingsModel.d.ts +8 -0
  422. package/api/models/BackgroundTaskSettingsModel.js +27 -0
  423. package/api/models/BackgroundTaskSettingsModel.js.map +1 -0
  424. package/api/permissions.d.ts +12 -0
  425. package/api/permissions.js +22 -0
  426. package/api/permissions.js.map +1 -0
  427. package/api/response/DatabaseResponse.d.ts +12 -0
  428. package/api/response/DatabaseResponse.js +127 -0
  429. package/api/response/DatabaseResponse.js.map +1 -0
  430. package/api/response/Response.d.ts +14 -0
  431. package/api/response/Response.js +91 -0
  432. package/api/response/Response.js.map +1 -0
  433. package/api/response/ResponseAbortedResult.d.ts +9 -0
  434. package/api/response/ResponseAbortedResult.js +12 -0
  435. package/api/response/ResponseAbortedResult.js.map +1 -0
  436. package/api/response/ResponseContinueResult.d.ts +17 -0
  437. package/api/response/ResponseContinueResult.js +16 -0
  438. package/api/response/ResponseContinueResult.js.map +1 -0
  439. package/api/response/ResponseDoneResult.d.ts +11 -0
  440. package/api/response/ResponseDoneResult.js +14 -0
  441. package/api/response/ResponseDoneResult.js.map +1 -0
  442. package/api/response/ResponseErrorResult.d.ts +10 -0
  443. package/api/response/ResponseErrorResult.js +13 -0
  444. package/api/response/ResponseErrorResult.js.map +1 -0
  445. package/api/response/TaskResponse.d.ts +12 -0
  446. package/api/response/TaskResponse.js +53 -0
  447. package/api/response/TaskResponse.js.map +1 -0
  448. package/api/response/abstractions/Response.d.ts +25 -0
  449. package/api/response/abstractions/Response.js +0 -0
  450. package/api/response/abstractions/ResponseAbortedResult.d.ts +5 -0
  451. package/api/response/abstractions/ResponseAbortedResult.js +0 -0
  452. package/api/response/abstractions/ResponseBaseResult.d.ts +7 -0
  453. package/api/response/abstractions/ResponseBaseResult.js +0 -0
  454. package/api/response/abstractions/ResponseContinueResult.d.ts +21 -0
  455. package/api/response/abstractions/ResponseContinueResult.js +0 -0
  456. package/api/response/abstractions/ResponseDoneResult.d.ts +13 -0
  457. package/api/response/abstractions/ResponseDoneResult.js +0 -0
  458. package/api/response/abstractions/ResponseErrorResult.d.ts +18 -0
  459. package/api/response/abstractions/ResponseErrorResult.js +0 -0
  460. package/api/response/abstractions/TaskResponse.d.ts +16 -0
  461. package/api/response/abstractions/TaskResponse.js +0 -0
  462. package/api/response/abstractions/index.d.ts +7 -0
  463. package/api/response/abstractions/index.js +7 -0
  464. package/api/response/index.d.ts +7 -0
  465. package/api/response/index.js +7 -0
  466. package/api/runner/TaskControl.d.ts +14 -0
  467. package/api/runner/TaskControl.js +176 -0
  468. package/api/runner/TaskControl.js.map +1 -0
  469. package/api/runner/TaskEventValidation.d.ts +5 -0
  470. package/api/runner/TaskEventValidation.js +20 -0
  471. package/api/runner/TaskEventValidation.js.map +1 -0
  472. package/api/runner/TaskManager.d.ts +11 -0
  473. package/api/runner/TaskManager.js +82 -0
  474. package/api/runner/TaskManager.js.map +1 -0
  475. package/api/runner/TaskManagerStore.d.ts +41 -0
  476. package/api/runner/TaskManagerStore.js +111 -0
  477. package/api/runner/TaskManagerStore.js.map +1 -0
  478. package/api/runner/TaskRunner.d.ts +25 -0
  479. package/api/runner/TaskRunner.js +55 -0
  480. package/api/runner/TaskRunner.js.map +1 -0
  481. package/api/runner/abstractions/TaskControl.d.ts +10 -0
  482. package/api/runner/abstractions/TaskControl.js +0 -0
  483. package/api/runner/abstractions/TaskEventValidation.d.ts +5 -0
  484. package/api/runner/abstractions/TaskEventValidation.js +0 -0
  485. package/api/runner/abstractions/TaskManager.d.ts +5 -0
  486. package/api/runner/abstractions/TaskManager.js +0 -0
  487. package/api/runner/abstractions/TaskManagerStore.d.ts +92 -0
  488. package/api/runner/abstractions/TaskManagerStore.js +0 -0
  489. package/api/runner/abstractions/TaskRunner.d.ts +13 -0
  490. package/api/runner/abstractions/TaskRunner.js +0 -0
  491. package/api/runner/abstractions/index.d.ts +5 -0
  492. package/api/runner/abstractions/index.js +5 -0
  493. package/api/runner/index.d.ts +1 -0
  494. package/api/runner/index.js +1 -0
  495. package/api/service/createService.d.ts +6 -0
  496. package/api/service/createService.js +11 -0
  497. package/api/service/createService.js.map +1 -0
  498. package/api/service/index.d.ts +1 -0
  499. package/api/service/index.js +1 -0
  500. package/api/tasks/testingRunTask.d.ts +11 -0
  501. package/api/tasks/testingRunTask.js +18 -0
  502. package/api/tasks/testingRunTask.js.map +1 -0
  503. package/api/types.d.ts +167 -0
  504. package/api/types.js +20 -0
  505. package/api/types.js.map +1 -0
  506. package/api/utils/ObjectUpdater.d.ts +8 -0
  507. package/api/utils/ObjectUpdater.js +33 -0
  508. package/api/utils/ObjectUpdater.js.map +1 -0
  509. package/api/utils/getErrorProperties.d.ts +2 -0
  510. package/api/utils/getErrorProperties.js +9 -0
  511. package/api/utils/getErrorProperties.js.map +1 -0
  512. package/api/utils/getObjectProperties.d.ts +8 -0
  513. package/api/utils/getObjectProperties.js +11 -0
  514. package/api/utils/getObjectProperties.js.map +1 -0
  515. package/api/utils/index.d.ts +3 -0
  516. package/api/utils/index.js +3 -0
  517. package/api/utils/normalizeSelfCleanup.d.ts +2 -0
  518. package/api/utils/normalizeSelfCleanup.js +16 -0
  519. package/api/utils/normalizeSelfCleanup.js.map +1 -0
  520. package/index.d.ts +2 -0
  521. package/index.js +2 -0
  522. package/package.json +68 -0
@@ -0,0 +1,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,59 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
3
+ import { RunnableTaskDecorator } from "./decorators/RunnableTaskDecorator.js";
4
+ import { SelfCleaningTaskDecorator } from "./decorators/SelfCleaningTaskDecorator.js";
5
+ import { TaskController } from "./features/TaskController/index.js";
6
+ import { TaskPrivateModel } from "./crud/TaskPrivateModel.js";
7
+ import { TaskLogPrivateModel } from "./crud/TaskLogPrivateModel.js";
8
+ import { BackgroundTaskSettingsModel } from "./models/BackgroundTaskSettingsModel.js";
9
+ import { createDefinitionCrud } from "./crud/definition.tasks.js";
10
+ import { createServiceCrud } from "./crud/service.tasks.js";
11
+ import { createTaskCrud } from "./crud/crud.tasks.js";
12
+ import { TaskExecutionContextFeature } from "./features/TaskExecutionContext/feature.js";
13
+ import { GetTaskDefinitionFeature } from "./features/GetTaskDefinition/feature.js";
14
+ import { ListTaskDefinitionsFeature } from "./features/ListTaskDefinitions/feature.js";
15
+ import { CleanupTaskSubtreeUseCase, CleanupTaskSubtreeUseCaseImpl } from "./features/CleanupTaskSubtree/index.js";
16
+ import { TasksCrud } from "./TasksCrud.js";
17
+ import { TriggerTaskFeature } from "./features/TriggerTask/feature.js";
18
+ import { AbortTaskFeature } from "./features/AbortTask/feature.js";
19
+ import { GetTaskFeature } from "./features/GetTask/feature.js";
20
+ import { ListTasksFeature } from "./features/ListTasks/feature.js";
21
+ import { TestingRunTaskDefinition } from "./tasks/testingRunTask.js";
22
+ import { BackgroundTaskPermissionsFeature } from "./features/BackgroundTaskPermissions/feature.js";
23
+ import { GetBackgroundTaskSettingsFeature } from "./features/GetBackgroundTaskSettings/feature.js";
24
+ import { UpdateBackgroundTaskSettingsFeature } from "./features/UpdateBackgroundTaskSettings/feature.js";
25
+ import { BackgroundTasksContextualSchema } from "./graphql/BackgroundTasksContextualSchema.js";
26
+ const BackgroundTasksFeature = createFeature({
27
+ name: "BackgroundTasks",
28
+ register (container) {
29
+ container.register(TaskPrivateModel);
30
+ container.register(TaskLogPrivateModel);
31
+ container.register(BackgroundTaskSettingsModel);
32
+ container.registerDecorator(RunnableTaskDecorator);
33
+ container.registerDecorator(SelfCleaningTaskDecorator);
34
+ GetTaskDefinitionFeature.register(container);
35
+ ListTaskDefinitionsFeature.register(container);
36
+ const tasksCrud = {
37
+ ...createDefinitionCrud(container),
38
+ ...createTaskCrud(container),
39
+ ...createServiceCrud(container)
40
+ };
41
+ container.registerInstance(TasksCrud, tasksCrud);
42
+ container.registerInstance(TaskService, tasksCrud);
43
+ TriggerTaskFeature.register(container);
44
+ AbortTaskFeature.register(container);
45
+ GetTaskFeature.register(container);
46
+ ListTasksFeature.register(container);
47
+ container.registerInstance(CleanupTaskSubtreeUseCase, new CleanupTaskSubtreeUseCaseImpl(container.resolve(TasksCrud)));
48
+ TaskExecutionContextFeature.register(container);
49
+ container.register(TaskController);
50
+ container.register(TestingRunTaskDefinition);
51
+ BackgroundTaskPermissionsFeature.register(container);
52
+ GetBackgroundTaskSettingsFeature.register(container);
53
+ UpdateBackgroundTaskSettingsFeature.register(container);
54
+ container.register(BackgroundTasksContextualSchema);
55
+ }
56
+ });
57
+ export { BackgroundTasksFeature };
58
+
59
+ //# 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 { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\nimport { RunnableTaskDecorator } from \"./decorators/RunnableTaskDecorator.js\";\nimport { SelfCleaningTaskDecorator } from \"./decorators/SelfCleaningTaskDecorator.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 { createDefinitionCrud } from \"./crud/definition.tasks.js\";\nimport { createServiceCrud } from \"./crud/service.tasks.js\";\nimport { createTaskCrud } from \"./crud/crud.tasks.js\";\nimport { TaskExecutionContextFeature } from \"./features/TaskExecutionContext/feature.js\";\nimport { GetTaskDefinitionFeature } from \"./features/GetTaskDefinition/feature.js\";\nimport { ListTaskDefinitionsFeature } from \"./features/ListTaskDefinitions/feature.js\";\nimport {\n CleanupTaskSubtreeUseCase,\n CleanupTaskSubtreeUseCaseImpl\n} from \"./features/CleanupTaskSubtree/index.js\";\nimport { TasksCrud } from \"./TasksCrud.js\";\nimport { TriggerTaskFeature } from \"./features/TriggerTask/feature.js\";\nimport { AbortTaskFeature } from \"./features/AbortTask/feature.js\";\nimport { GetTaskFeature } from \"./features/GetTask/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 { BackgroundTasksContextualSchema } from \"./graphql/BackgroundTasksContextualSchema.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 // Decorators wrapping all TaskDefinition instances.\n container.registerDecorator(RunnableTaskDecorator);\n container.registerDecorator(SelfCleaningTaskDecorator);\n\n // Task definition use cases.\n GetTaskDefinitionFeature.register(container);\n ListTaskDefinitionsFeature.register(container);\n\n // Build the tasks CRUD facade from the container and register it as the canonical TasksCrud\n // abstraction (plus the legacy TaskService alias). The factory methods resolve TasksCrud\n // lazily for sibling calls, so registering the assembled object up front is sufficient.\n const tasksCrud = {\n ...createDefinitionCrud(container),\n ...createTaskCrud(container),\n ...createServiceCrud(container)\n };\n container.registerInstance(TasksCrud, tasksCrud);\n container.registerInstance(TaskService, tasksCrud);\n\n // Task CRUD use cases (must be after TasksCrud is registered).\n TriggerTaskFeature.register(container);\n AbortTaskFeature.register(container);\n GetTaskFeature.register(container);\n ListTasksFeature.register(container);\n container.registerInstance(\n CleanupTaskSubtreeUseCase,\n new CleanupTaskSubtreeUseCaseImpl(container.resolve(TasksCrud))\n );\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 per-request from the CMS task/log content models.\n container.register(BackgroundTasksContextualSchema);\n }\n});\n"],"names":["BackgroundTasksFeature","createFeature","container","TaskPrivateModel","TaskLogPrivateModel","BackgroundTaskSettingsModel","RunnableTaskDecorator","SelfCleaningTaskDecorator","GetTaskDefinitionFeature","ListTaskDefinitionsFeature","tasksCrud","createDefinitionCrud","createTaskCrud","createServiceCrud","TasksCrud","TaskService","TriggerTaskFeature","AbortTaskFeature","GetTaskFeature","ListTasksFeature","CleanupTaskSubtreeUseCase","CleanupTaskSubtreeUseCaseImpl","TaskExecutionContextFeature","TaskController","TestingRunTaskDefinition","BackgroundTaskPermissionsFeature","GetBackgroundTaskSettingsFeature","UpdateBackgroundTaskSettingsFeature","BackgroundTasksContextualSchema"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6BO,MAAMA,yBAAyBC,cAAc;IAChD,MAAM;IACN,UAASC,SAAS;QAGdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;QAGnBH,UAAU,iBAAiB,CAACI;QAC5BJ,UAAU,iBAAiB,CAACK;QAG5BC,yBAAyB,QAAQ,CAACN;QAClCO,2BAA2B,QAAQ,CAACP;QAKpC,MAAMQ,YAAY;YACd,GAAGC,qBAAqBT,UAAU;YAClC,GAAGU,eAAeV,UAAU;YAC5B,GAAGW,kBAAkBX,UAAU;QACnC;QACAA,UAAU,gBAAgB,CAACY,WAAWJ;QACtCR,UAAU,gBAAgB,CAACa,aAAaL;QAGxCM,mBAAmB,QAAQ,CAACd;QAC5Be,iBAAiB,QAAQ,CAACf;QAC1BgB,eAAe,QAAQ,CAAChB;QACxBiB,iBAAiB,QAAQ,CAACjB;QAC1BA,UAAU,gBAAgB,CACtBkB,2BACA,IAAIC,8BAA8BnB,UAAU,OAAO,CAACY;QAIxDQ,4BAA4B,QAAQ,CAACpB;QACrCA,UAAU,QAAQ,CAACqB;QACnBrB,UAAU,QAAQ,CAACsB;QAGnBC,iCAAiC,QAAQ,CAACvB;QAC1CwB,iCAAiC,QAAQ,CAACxB;QAC1CyB,oCAAoC,QAAQ,CAACzB;QAG7CA,UAAU,QAAQ,CAAC0B;IACvB;AACJ"}
@@ -0,0 +1,10 @@
1
+ import type { ITasksContextObject } from "../api/types.js";
2
+ /**
3
+ * At runtime this is the full tasks facade (CRUD + definition + service methods), assembled and
4
+ * registered by BackgroundTasksFeature. Typed as the full `ITasksContextObject` so sibling calls
5
+ * (e.g. `getDefinition`, `trigger`) type-check.
6
+ */
7
+ export declare const TasksCrud: import("@webiny/di").Abstraction<ITasksContextObject>;
8
+ export declare namespace TasksCrud {
9
+ type Interface = ITasksContextObject;
10
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const TasksCrud = createAbstraction("Tasks/TasksCrud");
3
+ export { TasksCrud };
4
+
5
+ //# sourceMappingURL=TasksCrud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/TasksCrud.js","sources":["../../src/api/TasksCrud.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { ITasksContextObject } from \"~/api/types.js\";\n\n/**\n * At runtime this is the full tasks facade (CRUD + definition + service methods), assembled and\n * registered by BackgroundTasksFeature. Typed as the full `ITasksContextObject` so sibling calls\n * (e.g. `getDefinition`, `trigger`) type-check.\n */\nexport const TasksCrud = createAbstraction<ITasksContextObject>(\"Tasks/TasksCrud\");\n\nexport namespace TasksCrud {\n export type Interface = ITasksContextObject;\n}\n"],"names":["TasksCrud","createAbstraction"],"mappings":";AAQO,MAAMA,YAAYC,kBAAuC"}
@@ -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,40 @@
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
+ }).fields((fields)=>({
11
+ executionName: fields.text().label("Execution Name"),
12
+ task: fields.text().label("Task").required("Task is required."),
13
+ iteration: fields.number().label("Iteration").required("Iteration is required."),
14
+ items: fields.object().label("Items").list().required("Items is required.").fields((fields)=>({
15
+ message: fields.text().label("Message").required("Message is required."),
16
+ createdOn: fields.datetime().label("Created On").required("Created On is required."),
17
+ type: fields.text().label("Type").required("Type is required.").predefinedValues([
18
+ {
19
+ value: TaskLogItemType.INFO,
20
+ label: "Info"
21
+ },
22
+ {
23
+ value: TaskLogItemType.ERROR,
24
+ label: "Error"
25
+ }
26
+ ]),
27
+ data: fields.json().label("Data"),
28
+ error: fields.json().label("Error")
29
+ }))
30
+ }))
31
+ ];
32
+ }
33
+ }
34
+ const TaskLogPrivateModel = ModelFactory.createImplementation({
35
+ implementation: TaskLogPrivateModelImpl,
36
+ dependencies: []
37
+ });
38
+ export { TaskLogPrivateModel, WEBINY_TASK_LOG_MODEL_ID };
39
+
40
+ //# 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 })\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;YACV,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,55 @@
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
+ }).fields((fields)=>({
11
+ name: fields.text().label("Name").required("Name is required."),
12
+ definitionId: fields.text().label("Definition ID").required("Definition ID is required."),
13
+ parentId: fields.text().label("Parent ID"),
14
+ executionName: fields.text().label("Execution Name"),
15
+ iterations: fields.number().label("Iterations"),
16
+ input: fields.json().label("Input"),
17
+ output: fields.json().label("Output"),
18
+ taskStatus: fields.text().label("Status").predefinedValues([
19
+ {
20
+ value: TaskDataStatus.PENDING,
21
+ label: "Pending"
22
+ },
23
+ {
24
+ value: TaskDataStatus.RUNNING,
25
+ label: "Running"
26
+ },
27
+ {
28
+ value: TaskDataStatus.FAILED,
29
+ label: "Failed"
30
+ },
31
+ {
32
+ value: TaskDataStatus.SUCCESS,
33
+ label: "Success"
34
+ },
35
+ {
36
+ value: TaskDataStatus.ABORTED,
37
+ label: "Aborted"
38
+ }
39
+ ]).settings({
40
+ defaultValue: TaskDataStatus.PENDING
41
+ }),
42
+ startedOn: fields.datetime().label("Started On"),
43
+ finishedOn: fields.datetime().label("Finished On"),
44
+ eventResponse: fields.json().label("Event Response")
45
+ }))
46
+ ];
47
+ }
48
+ }
49
+ const TaskPrivateModel = ModelFactory.createImplementation({
50
+ implementation: TaskPrivateModelImpl,
51
+ dependencies: []
52
+ });
53
+ export { TaskPrivateModel, WEBINY_TASK_MODEL_ID };
54
+
55
+ //# 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 })\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;YACV,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,8 @@
1
+ import type { Container } from "@webiny/di";
2
+ /**
3
+ * Recursively deletes the task identified by `rootId`, all its descendants, and
4
+ * their logs (when the owning definition has databaseLogs=true). Bottom-up,
5
+ * best-effort: per-record errors are logged and swallowed, the function never
6
+ * throws.
7
+ */
8
+ export declare const createCleanupTaskSubtree: (container: Container) => (rootId: string) => Promise<void>;
@@ -0,0 +1,63 @@
1
+ import { TasksCrud } from "../TasksCrud.js";
2
+ const createCleanupTaskSubtree = (container)=>{
3
+ const listChildren = async (parentId)=>{
4
+ const { items } = await container.resolve(TasksCrud).listTasks({
5
+ where: {
6
+ parentId
7
+ }
8
+ });
9
+ return items;
10
+ };
11
+ const collectSubtree = async (rootId)=>{
12
+ const root = await container.resolve(TasksCrud).getTask(rootId);
13
+ if (!root) return [];
14
+ const order = [
15
+ root
16
+ ];
17
+ const seen = new Set([
18
+ root.id
19
+ ]);
20
+ let i = 0;
21
+ while(i < order.length){
22
+ const current = order[i++];
23
+ const kids = await listChildren(current.id);
24
+ for (const kid of kids)if (!seen.has(kid.id)) {
25
+ seen.add(kid.id);
26
+ order.push(kid);
27
+ }
28
+ }
29
+ return order.reverse();
30
+ };
31
+ const deleteTaskLogs = async (task)=>{
32
+ const definition = container.resolve(TasksCrud).getDefinition(task.definitionId);
33
+ if (!definition || true !== definition.databaseLogs) return;
34
+ try {
35
+ const { items } = await container.resolve(TasksCrud).listLogs({
36
+ where: {
37
+ task: task.id
38
+ }
39
+ });
40
+ for (const log of items)try {
41
+ await container.resolve(TasksCrud).deleteLog(log.id);
42
+ } catch (ex) {
43
+ console.warn(`cleanupTaskSubtree: failed to delete log "${log.id}" for task "${task.id}": ${ex.message}`);
44
+ }
45
+ } catch (ex) {
46
+ console.warn(`cleanupTaskSubtree: failed to list logs for task "${task.id}": ${ex.message}`);
47
+ }
48
+ };
49
+ return async (rootId)=>{
50
+ const ordered = await collectSubtree(rootId);
51
+ for (const task of ordered){
52
+ await deleteTaskLogs(task);
53
+ try {
54
+ await container.resolve(TasksCrud).deleteTask(task.id);
55
+ } catch (ex) {
56
+ console.warn(`cleanupTaskSubtree: failed to delete task "${task.id}": ${ex.message}`);
57
+ }
58
+ }
59
+ };
60
+ };
61
+ export { createCleanupTaskSubtree };
62
+
63
+ //# sourceMappingURL=cleanupTaskSubtree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/crud/cleanupTaskSubtree.js","sources":["../../../src/api/crud/cleanupTaskSubtree.ts"],"sourcesContent":["import type { Container } from \"@webiny/di\";\nimport type { ITask } from \"~/api/types.js\";\nimport { TasksCrud } from \"~/api/TasksCrud.js\";\n\n/**\n * Recursively deletes the task identified by `rootId`, all its descendants, and\n * their logs (when the owning definition has databaseLogs=true). Bottom-up,\n * best-effort: per-record errors are logged and swallowed, the function never\n * throws.\n */\nexport const createCleanupTaskSubtree = (container: Container) => {\n const listChildren = async (parentId: string): Promise<ITask[]> => {\n const { items } = await container.resolve(TasksCrud).listTasks({\n where: { parentId }\n });\n return items;\n };\n\n const collectSubtree = async (rootId: string): Promise<ITask[]> => {\n const root = await container.resolve(TasksCrud).getTask(rootId);\n if (!root) {\n return [];\n }\n const order: ITask[] = [root];\n const seen = new Set<string>([root.id]);\n let i = 0;\n while (i < order.length) {\n const current = order[i++];\n const kids = await listChildren(current.id);\n for (const kid of kids) {\n if (seen.has(kid.id)) {\n continue;\n }\n seen.add(kid.id);\n order.push(kid);\n }\n }\n return order.reverse();\n };\n\n const deleteTaskLogs = async (task: ITask): Promise<void> => {\n const definition = container.resolve(TasksCrud).getDefinition(task.definitionId);\n if (!definition || definition.databaseLogs !== true) {\n return;\n }\n try {\n const { items } = await container.resolve(TasksCrud).listLogs({\n where: { task: task.id }\n });\n for (const log of items) {\n try {\n await container.resolve(TasksCrud).deleteLog(log.id);\n } catch (ex: any) {\n console.warn(\n `cleanupTaskSubtree: failed to delete log \"${log.id}\" for task \"${task.id}\": ${ex.message}`\n );\n }\n }\n } catch (ex: any) {\n console.warn(\n `cleanupTaskSubtree: failed to list logs for task \"${task.id}\": ${ex.message}`\n );\n }\n };\n\n return async (rootId: string): Promise<void> => {\n const ordered = await collectSubtree(rootId);\n for (const task of ordered) {\n await deleteTaskLogs(task);\n try {\n await container.resolve(TasksCrud).deleteTask(task.id);\n } catch (ex: any) {\n console.warn(\n `cleanupTaskSubtree: failed to delete task \"${task.id}\": ${ex.message}`\n );\n }\n }\n };\n};\n"],"names":["createCleanupTaskSubtree","container","listChildren","parentId","items","TasksCrud","collectSubtree","rootId","root","order","seen","Set","i","current","kids","kid","deleteTaskLogs","task","definition","log","ex","console","ordered"],"mappings":";AAUO,MAAMA,2BAA2B,CAACC;IACrC,MAAMC,eAAe,OAAOC;QACxB,MAAM,EAAEC,KAAK,EAAE,GAAG,MAAMH,UAAU,OAAO,CAACI,WAAW,SAAS,CAAC;YAC3D,OAAO;gBAAEF;YAAS;QACtB;QACA,OAAOC;IACX;IAEA,MAAME,iBAAiB,OAAOC;QAC1B,MAAMC,OAAO,MAAMP,UAAU,OAAO,CAACI,WAAW,OAAO,CAACE;QACxD,IAAI,CAACC,MACD,OAAO,EAAE;QAEb,MAAMC,QAAiB;YAACD;SAAK;QAC7B,MAAME,OAAO,IAAIC,IAAY;YAACH,KAAK,EAAE;SAAC;QACtC,IAAII,IAAI;QACR,MAAOA,IAAIH,MAAM,MAAM,CAAE;YACrB,MAAMI,UAAUJ,KAAK,CAACG,IAAI;YAC1B,MAAME,OAAO,MAAMZ,aAAaW,QAAQ,EAAE;YAC1C,KAAK,MAAME,OAAOD,KACd,KAAIJ,KAAK,GAAG,CAACK,IAAI,EAAE;gBAGnBL,KAAK,GAAG,CAACK,IAAI,EAAE;gBACfN,MAAM,IAAI,CAACM;;QAEnB;QACA,OAAON,MAAM,OAAO;IACxB;IAEA,MAAMO,iBAAiB,OAAOC;QAC1B,MAAMC,aAAajB,UAAU,OAAO,CAACI,WAAW,aAAa,CAACY,KAAK,YAAY;QAC/E,IAAI,CAACC,cAAcA,AAA4B,SAA5BA,WAAW,YAAY,EACtC;QAEJ,IAAI;YACA,MAAM,EAAEd,KAAK,EAAE,GAAG,MAAMH,UAAU,OAAO,CAACI,WAAW,QAAQ,CAAC;gBAC1D,OAAO;oBAAE,MAAMY,KAAK,EAAE;gBAAC;YAC3B;YACA,KAAK,MAAME,OAAOf,MACd,IAAI;gBACA,MAAMH,UAAU,OAAO,CAACI,WAAW,SAAS,CAACc,IAAI,EAAE;YACvD,EAAE,OAAOC,IAAS;gBACdC,QAAQ,IAAI,CACR,CAAC,0CAA0C,EAAEF,IAAI,EAAE,CAAC,YAAY,EAAEF,KAAK,EAAE,CAAC,GAAG,EAAEG,GAAG,OAAO,EAAE;YAEnG;QAER,EAAE,OAAOA,IAAS;YACdC,QAAQ,IAAI,CACR,CAAC,kDAAkD,EAAEJ,KAAK,EAAE,CAAC,GAAG,EAAEG,GAAG,OAAO,EAAE;QAEtF;IACJ;IAEA,OAAO,OAAOb;QACV,MAAMe,UAAU,MAAMhB,eAAeC;QACrC,KAAK,MAAMU,QAAQK,QAAS;YACxB,MAAMN,eAAeC;YACrB,IAAI;gBACA,MAAMhB,UAAU,OAAO,CAACI,WAAW,UAAU,CAACY,KAAK,EAAE;YACzD,EAAE,OAAOG,IAAS;gBACdC,QAAQ,IAAI,CACR,CAAC,2CAA2C,EAAEJ,KAAK,EAAE,CAAC,GAAG,EAAEG,GAAG,OAAO,EAAE;YAE/E;QACJ;IACJ;AACJ"}
@@ -0,0 +1,3 @@
1
+ import type { Container } from "@webiny/di";
2
+ import type { ITasksContextCrudObject } from "../../api/types.js";
3
+ export declare const createTaskCrud: (container: Container) => ITasksContextCrudObject;