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

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 (507) hide show
  1. package/admin/BackgroundTaskRoutes.js +35 -15
  2. package/admin/BackgroundTaskRoutes.js.map +1 -1
  3. package/admin/BackgroundTasks.js +9 -0
  4. package/admin/BackgroundTasks.js.map +1 -1
  5. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.d.ts +12 -0
  6. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.js +40 -0
  7. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.js.map +1 -0
  8. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.d.ts +11 -0
  9. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.js +18 -0
  10. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.js.map +1 -0
  11. package/admin/features/getBackgroundTaskSettings/abstractions.d.ts +15 -0
  12. package/admin/features/getBackgroundTaskSettings/abstractions.js +6 -0
  13. package/admin/features/getBackgroundTaskSettings/abstractions.js.map +1 -0
  14. package/admin/features/getBackgroundTaskSettings/feature.d.ts +3 -0
  15. package/admin/features/getBackgroundTaskSettings/feature.js +19 -0
  16. package/admin/features/getBackgroundTaskSettings/feature.js.map +1 -0
  17. package/admin/features/getBackgroundTaskSettings/index.d.ts +3 -0
  18. package/admin/features/getBackgroundTaskSettings/index.js +2 -0
  19. package/admin/features/listLogs/ListLogsGateway.js +1 -1
  20. package/admin/features/listLogs/ListLogsGateway.js.map +1 -1
  21. package/admin/features/permissions/feature.d.ts +1 -1
  22. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.d.ts +12 -0
  23. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js +43 -0
  24. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js.map +1 -0
  25. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +11 -0
  26. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +18 -0
  27. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  28. package/admin/features/updateBackgroundTaskSettings/abstractions.d.ts +18 -0
  29. package/admin/features/updateBackgroundTaskSettings/abstractions.js +6 -0
  30. package/admin/features/updateBackgroundTaskSettings/abstractions.js.map +1 -0
  31. package/admin/features/updateBackgroundTaskSettings/feature.d.ts +3 -0
  32. package/admin/features/updateBackgroundTaskSettings/feature.js +19 -0
  33. package/admin/features/updateBackgroundTaskSettings/feature.js.map +1 -0
  34. package/admin/features/updateBackgroundTaskSettings/index.d.ts +3 -0
  35. package/admin/features/updateBackgroundTaskSettings/index.js +2 -0
  36. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.d.ts +21 -0
  37. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js +86 -0
  38. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js.map +1 -0
  39. package/admin/presentation/BackgroundTaskSettings/abstractions.d.ts +16 -0
  40. package/admin/presentation/BackgroundTaskSettings/abstractions.js +5 -0
  41. package/admin/presentation/BackgroundTaskSettings/abstractions.js.map +1 -0
  42. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.d.ts +2 -0
  43. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js +56 -0
  44. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js.map +1 -0
  45. package/admin/presentation/BackgroundTaskSettings/feature.d.ts +3 -0
  46. package/admin/presentation/BackgroundTaskSettings/feature.js +17 -0
  47. package/admin/presentation/BackgroundTaskSettings/feature.js.map +1 -0
  48. package/admin/presentation/BackgroundTaskSettings/index.d.ts +2 -0
  49. package/admin/presentation/BackgroundTaskSettings/index.js +2 -0
  50. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js +2 -1
  51. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js.map +1 -1
  52. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.d.ts +2 -0
  53. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js +16 -0
  54. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js.map +1 -0
  55. package/admin/presentation/TaskDetail/TaskDetailPresenter.js +1 -1
  56. package/admin/presentation/TaskDetail/TaskDetailPresenter.js.map +1 -1
  57. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.js +6 -0
  58. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.js.map +1 -1
  59. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js +1 -1
  60. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js.map +1 -1
  61. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.d.ts +2 -0
  62. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js +3 -1
  63. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js.map +1 -1
  64. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.d.ts +2 -0
  65. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js +16 -0
  66. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js.map +1 -0
  67. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js +78 -40
  68. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js.map +1 -1
  69. package/admin/routes.d.ts +1 -0
  70. package/admin/routes.js +4 -0
  71. package/admin/routes.js.map +1 -1
  72. package/admin/shared/types.d.ts +3 -0
  73. package/api/BackgroundTasksFeature.d.ts +4 -0
  74. package/api/BackgroundTasksFeature.js +75 -0
  75. package/api/BackgroundTasksFeature.js.map +1 -0
  76. package/api/abstractions/Timer.d.ts +1 -0
  77. package/api/abstractions/Timer.js +0 -0
  78. package/api/abstractions/index.d.ts +1 -0
  79. package/api/abstractions/index.js +1 -0
  80. package/api/crud/TaskLogPrivateModel.d.ts +9 -0
  81. package/api/crud/TaskLogPrivateModel.js +41 -0
  82. package/api/crud/TaskLogPrivateModel.js.map +1 -0
  83. package/api/crud/TaskPrivateModel.d.ts +9 -0
  84. package/api/crud/TaskPrivateModel.js +56 -0
  85. package/api/crud/TaskPrivateModel.js.map +1 -0
  86. package/api/decorators/SelfCleaningTaskHandlerDecorator.d.ts +33 -0
  87. package/api/decorators/SelfCleaningTaskHandlerDecorator.js +69 -0
  88. package/api/decorators/SelfCleaningTaskHandlerDecorator.js.map +1 -0
  89. package/api/decorators/TaskDefinitionDefaultsDecorator.d.ts +27 -0
  90. package/api/decorators/TaskDefinitionDefaultsDecorator.js +47 -0
  91. package/api/decorators/TaskDefinitionDefaultsDecorator.js.map +1 -0
  92. package/api/domain/BackgroundTaskSettings.d.ts +3 -0
  93. package/api/domain/BackgroundTaskSettings.js +0 -0
  94. package/api/domain/TaskService.d.ts +12 -0
  95. package/api/domain/TaskService.js +5 -0
  96. package/api/domain/TaskService.js.map +1 -0
  97. package/api/domain/constants.d.ts +3 -0
  98. package/api/domain/constants.js +6 -0
  99. package/api/domain/constants.js.map +1 -0
  100. package/api/domain/errors.d.ts +61 -0
  101. package/api/domain/errors.js +109 -0
  102. package/api/domain/errors.js.map +1 -0
  103. package/api/domain/task/TaskLogModelProvider.d.ts +12 -0
  104. package/api/domain/task/TaskLogModelProvider.js +23 -0
  105. package/api/domain/task/TaskLogModelProvider.js.map +1 -0
  106. package/api/domain/task/TaskLogsRepository.d.ts +34 -0
  107. package/api/domain/task/TaskLogsRepository.js +146 -0
  108. package/api/domain/task/TaskLogsRepository.js.map +1 -0
  109. package/api/domain/task/TaskModelProvider.d.ts +12 -0
  110. package/api/domain/task/TaskModelProvider.js +23 -0
  111. package/api/domain/task/TaskModelProvider.js.map +1 -0
  112. package/api/domain/task/TasksRepository.d.ts +37 -0
  113. package/api/domain/task/TasksRepository.js +126 -0
  114. package/api/domain/task/TasksRepository.js.map +1 -0
  115. package/api/domain/task/abstractions.d.ts +50 -0
  116. package/api/domain/task/abstractions.js +8 -0
  117. package/api/domain/task/abstractions.js.map +1 -0
  118. package/api/domain/task/createRevisionId.d.ts +1 -0
  119. package/api/domain/task/createRevisionId.js +8 -0
  120. package/api/domain/task/createRevisionId.js.map +1 -0
  121. package/api/domain/task/entryToTask.d.ts +3 -0
  122. package/api/domain/task/entryToTask.js +20 -0
  123. package/api/domain/task/entryToTask.js.map +1 -0
  124. package/api/domain/task/entryToTaskLog.d.ts +3 -0
  125. package/api/domain/task/entryToTaskLog.js +12 -0
  126. package/api/domain/task/entryToTaskLog.js.map +1 -0
  127. package/api/events/TaskAfterCreateEvent.d.ts +6 -0
  128. package/api/events/TaskAfterCreateEvent.js +13 -0
  129. package/api/events/TaskAfterCreateEvent.js.map +1 -0
  130. package/api/events/TaskAfterDeleteEvent.d.ts +6 -0
  131. package/api/events/TaskAfterDeleteEvent.js +13 -0
  132. package/api/events/TaskAfterDeleteEvent.js.map +1 -0
  133. package/api/events/TaskAfterUpdateEvent.d.ts +6 -0
  134. package/api/events/TaskAfterUpdateEvent.js +13 -0
  135. package/api/events/TaskAfterUpdateEvent.js.map +1 -0
  136. package/api/events/TaskBeforeCreateEvent.d.ts +6 -0
  137. package/api/events/TaskBeforeCreateEvent.js +13 -0
  138. package/api/events/TaskBeforeCreateEvent.js.map +1 -0
  139. package/api/events/TaskBeforeDeleteEvent.d.ts +6 -0
  140. package/api/events/TaskBeforeDeleteEvent.js +13 -0
  141. package/api/events/TaskBeforeDeleteEvent.js.map +1 -0
  142. package/api/events/TaskBeforeUpdateEvent.d.ts +6 -0
  143. package/api/events/TaskBeforeUpdateEvent.js +13 -0
  144. package/api/events/TaskBeforeUpdateEvent.js.map +1 -0
  145. package/api/events/abstractions.d.ts +53 -0
  146. package/api/events/abstractions.js +10 -0
  147. package/api/events/abstractions.js.map +1 -0
  148. package/api/events/index.d.ts +7 -0
  149. package/api/events/index.js +7 -0
  150. package/api/features/AbortTask/AbortTaskUseCase.d.ts +9 -0
  151. package/api/features/AbortTask/AbortTaskUseCase.js +12 -0
  152. package/api/features/AbortTask/AbortTaskUseCase.js.map +1 -0
  153. package/api/features/AbortTask/abstractions.d.ts +25 -0
  154. package/api/features/AbortTask/abstractions.js +5 -0
  155. package/api/features/AbortTask/abstractions.js.map +1 -0
  156. package/api/features/AbortTask/feature.d.ts +4 -0
  157. package/api/features/AbortTask/feature.js +13 -0
  158. package/api/features/AbortTask/feature.js.map +1 -0
  159. package/api/features/AbortTask/index.d.ts +2 -0
  160. package/api/features/AbortTask/index.js +2 -0
  161. package/api/features/BackgroundTaskPermissions/abstractions.d.ts +17 -0
  162. package/api/features/BackgroundTaskPermissions/abstractions.js +6 -0
  163. package/api/features/BackgroundTaskPermissions/abstractions.js.map +1 -0
  164. package/api/features/BackgroundTaskPermissions/feature.d.ts +4 -0
  165. package/api/features/BackgroundTaskPermissions/feature.js +7 -0
  166. package/api/features/BackgroundTaskPermissions/feature.js.map +1 -0
  167. package/api/features/BackgroundTaskPermissions/index.d.ts +2 -0
  168. package/api/features/BackgroundTaskPermissions/index.js +2 -0
  169. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.d.ts +27 -0
  170. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js +122 -0
  171. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js.map +1 -0
  172. package/api/features/CleanupTaskSubtree/abstractions.d.ts +7 -0
  173. package/api/features/CleanupTaskSubtree/abstractions.js +5 -0
  174. package/api/features/CleanupTaskSubtree/abstractions.js.map +1 -0
  175. package/api/features/CleanupTaskSubtree/feature.d.ts +4 -0
  176. package/api/features/CleanupTaskSubtree/feature.js +11 -0
  177. package/api/features/CleanupTaskSubtree/feature.js.map +1 -0
  178. package/api/features/CleanupTaskSubtree/index.d.ts +2 -0
  179. package/api/features/CleanupTaskSubtree/index.js +2 -0
  180. package/api/features/CreateTask/CreateTaskUseCase.d.ts +17 -0
  181. package/api/features/CreateTask/CreateTaskUseCase.js +56 -0
  182. package/api/features/CreateTask/CreateTaskUseCase.js.map +1 -0
  183. package/api/features/CreateTask/abstractions.d.ts +21 -0
  184. package/api/features/CreateTask/abstractions.js +5 -0
  185. package/api/features/CreateTask/abstractions.js.map +1 -0
  186. package/api/features/CreateTask/feature.d.ts +4 -0
  187. package/api/features/CreateTask/feature.js +11 -0
  188. package/api/features/CreateTask/feature.js.map +1 -0
  189. package/api/features/CreateTask/index.d.ts +2 -0
  190. package/api/features/CreateTask/index.js +2 -0
  191. package/api/features/CreateTaskLog/CreateTaskLogUseCase.d.ts +13 -0
  192. package/api/features/CreateTaskLog/CreateTaskLogUseCase.js +19 -0
  193. package/api/features/CreateTaskLog/CreateTaskLogUseCase.js.map +1 -0
  194. package/api/features/CreateTaskLog/abstractions.d.ts +16 -0
  195. package/api/features/CreateTaskLog/abstractions.js +5 -0
  196. package/api/features/CreateTaskLog/abstractions.js.map +1 -0
  197. package/api/features/CreateTaskLog/feature.d.ts +4 -0
  198. package/api/features/CreateTaskLog/feature.js +11 -0
  199. package/api/features/CreateTaskLog/feature.js.map +1 -0
  200. package/api/features/CreateTaskLog/index.d.ts +2 -0
  201. package/api/features/CreateTaskLog/index.js +2 -0
  202. package/api/features/DeleteTask/DeleteTaskUseCase.d.ts +14 -0
  203. package/api/features/DeleteTask/DeleteTaskUseCase.js +34 -0
  204. package/api/features/DeleteTask/DeleteTaskUseCase.js.map +1 -0
  205. package/api/features/DeleteTask/abstractions.d.ts +17 -0
  206. package/api/features/DeleteTask/abstractions.js +5 -0
  207. package/api/features/DeleteTask/abstractions.js.map +1 -0
  208. package/api/features/DeleteTask/feature.d.ts +4 -0
  209. package/api/features/DeleteTask/feature.js +11 -0
  210. package/api/features/DeleteTask/feature.js.map +1 -0
  211. package/api/features/DeleteTask/index.d.ts +2 -0
  212. package/api/features/DeleteTask/index.js +2 -0
  213. package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.d.ts +11 -0
  214. package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.js +19 -0
  215. package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.js.map +1 -0
  216. package/api/features/DeleteTaskLog/abstractions.d.ts +14 -0
  217. package/api/features/DeleteTaskLog/abstractions.js +5 -0
  218. package/api/features/DeleteTaskLog/abstractions.js.map +1 -0
  219. package/api/features/DeleteTaskLog/feature.d.ts +4 -0
  220. package/api/features/DeleteTaskLog/feature.js +11 -0
  221. package/api/features/DeleteTaskLog/feature.js.map +1 -0
  222. package/api/features/DeleteTaskLog/index.d.ts +2 -0
  223. package/api/features/DeleteTaskLog/index.js +2 -0
  224. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.d.ts +21 -0
  225. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js +63 -0
  226. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js.map +1 -0
  227. package/api/features/GetBackgroundTaskSettings/abstractions.d.ts +13 -0
  228. package/api/features/GetBackgroundTaskSettings/abstractions.js +5 -0
  229. package/api/features/GetBackgroundTaskSettings/abstractions.js.map +1 -0
  230. package/api/features/GetBackgroundTaskSettings/feature.d.ts +4 -0
  231. package/api/features/GetBackgroundTaskSettings/feature.js +11 -0
  232. package/api/features/GetBackgroundTaskSettings/feature.js.map +1 -0
  233. package/api/features/GetBackgroundTaskSettings/index.d.ts +2 -0
  234. package/api/features/GetBackgroundTaskSettings/index.js +2 -0
  235. package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.d.ts +11 -0
  236. package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.js +19 -0
  237. package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.js.map +1 -0
  238. package/api/features/GetLatestTaskLog/abstractions.d.ts +15 -0
  239. package/api/features/GetLatestTaskLog/abstractions.js +5 -0
  240. package/api/features/GetLatestTaskLog/abstractions.js.map +1 -0
  241. package/api/features/GetLatestTaskLog/feature.d.ts +4 -0
  242. package/api/features/GetLatestTaskLog/feature.js +11 -0
  243. package/api/features/GetLatestTaskLog/feature.js.map +1 -0
  244. package/api/features/GetLatestTaskLog/index.d.ts +2 -0
  245. package/api/features/GetLatestTaskLog/index.js +2 -0
  246. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.d.ts +13 -0
  247. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.js +51 -0
  248. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.js.map +1 -0
  249. package/api/features/GetRunnableTaskDefinition/abstractions.d.ts +17 -0
  250. package/api/features/GetRunnableTaskDefinition/abstractions.js +5 -0
  251. package/api/features/GetRunnableTaskDefinition/abstractions.js.map +1 -0
  252. package/api/features/GetRunnableTaskDefinition/feature.d.ts +4 -0
  253. package/api/features/GetRunnableTaskDefinition/feature.js +11 -0
  254. package/api/features/GetRunnableTaskDefinition/feature.js.map +1 -0
  255. package/api/features/GetRunnableTaskDefinition/index.d.ts +2 -0
  256. package/api/features/GetRunnableTaskDefinition/index.js +2 -0
  257. package/api/features/GetTask/GetTaskUseCase.d.ts +13 -0
  258. package/api/features/GetTask/GetTaskUseCase.js +19 -0
  259. package/api/features/GetTask/GetTaskUseCase.js.map +1 -0
  260. package/api/features/GetTask/abstractions.d.ts +17 -0
  261. package/api/features/GetTask/abstractions.js +5 -0
  262. package/api/features/GetTask/abstractions.js.map +1 -0
  263. package/api/features/GetTask/feature.d.ts +4 -0
  264. package/api/features/GetTask/feature.js +11 -0
  265. package/api/features/GetTask/feature.js.map +1 -0
  266. package/api/features/GetTask/index.d.ts +2 -0
  267. package/api/features/GetTask/index.js +2 -0
  268. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.d.ts +11 -0
  269. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js +24 -0
  270. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js.map +1 -0
  271. package/api/features/ListTaskDefinitions/abstractions.d.ts +9 -0
  272. package/api/features/ListTaskDefinitions/abstractions.js +5 -0
  273. package/api/features/ListTaskDefinitions/abstractions.js.map +1 -0
  274. package/api/features/ListTaskDefinitions/feature.d.ts +4 -0
  275. package/api/features/ListTaskDefinitions/feature.js +11 -0
  276. package/api/features/ListTaskDefinitions/feature.js.map +1 -0
  277. package/api/features/ListTaskDefinitions/index.d.ts +2 -0
  278. package/api/features/ListTaskDefinitions/index.js +2 -0
  279. package/api/features/ListTaskLogs/ListTaskLogsUseCase.d.ts +12 -0
  280. package/api/features/ListTaskLogs/ListTaskLogsUseCase.js +19 -0
  281. package/api/features/ListTaskLogs/ListTaskLogsUseCase.js.map +1 -0
  282. package/api/features/ListTaskLogs/abstractions.d.ts +15 -0
  283. package/api/features/ListTaskLogs/abstractions.js +5 -0
  284. package/api/features/ListTaskLogs/abstractions.js.map +1 -0
  285. package/api/features/ListTaskLogs/feature.d.ts +4 -0
  286. package/api/features/ListTaskLogs/feature.js +11 -0
  287. package/api/features/ListTaskLogs/feature.js.map +1 -0
  288. package/api/features/ListTaskLogs/index.d.ts +2 -0
  289. package/api/features/ListTaskLogs/index.js +2 -0
  290. package/api/features/ListTasks/ListTasksUseCase.d.ts +13 -0
  291. package/api/features/ListTasks/ListTasksUseCase.js +19 -0
  292. package/api/features/ListTasks/ListTasksUseCase.js.map +1 -0
  293. package/api/features/ListTasks/abstractions.d.ts +19 -0
  294. package/api/features/ListTasks/abstractions.js +5 -0
  295. package/api/features/ListTasks/abstractions.js.map +1 -0
  296. package/api/features/ListTasks/feature.d.ts +4 -0
  297. package/api/features/ListTasks/feature.js +11 -0
  298. package/api/features/ListTasks/feature.js.map +1 -0
  299. package/api/features/ListTasks/index.d.ts +2 -0
  300. package/api/features/ListTasks/index.js +2 -0
  301. package/api/features/TaskController/TaskController.d.ts +49 -0
  302. package/api/features/TaskController/TaskController.js +71 -0
  303. package/api/features/TaskController/TaskController.js.map +1 -0
  304. package/api/features/TaskController/augmentation.d.ts +60 -0
  305. package/api/features/TaskController/augmentation.js +0 -0
  306. package/api/features/TaskController/index.d.ts +2 -0
  307. package/api/features/TaskController/index.js +2 -0
  308. package/api/features/TaskExecutionContext/TaskExecutionContext.d.ts +24 -0
  309. package/api/features/TaskExecutionContext/TaskExecutionContext.js +43 -0
  310. package/api/features/TaskExecutionContext/TaskExecutionContext.js.map +1 -0
  311. package/api/features/TaskExecutionContext/abstractions.d.ts +26 -0
  312. package/api/features/TaskExecutionContext/abstractions.js +5 -0
  313. package/api/features/TaskExecutionContext/abstractions.js.map +1 -0
  314. package/api/features/TaskExecutionContext/feature.d.ts +4 -0
  315. package/api/features/TaskExecutionContext/feature.js +11 -0
  316. package/api/features/TaskExecutionContext/feature.js.map +1 -0
  317. package/api/features/TaskExecutionContext/index.d.ts +1 -0
  318. package/api/features/TaskExecutionContext/index.js +1 -0
  319. package/api/features/TaskHandlerResolver/TaskHandlerResolver.d.ts +12 -0
  320. package/api/features/TaskHandlerResolver/TaskHandlerResolver.js +19 -0
  321. package/api/features/TaskHandlerResolver/TaskHandlerResolver.js.map +1 -0
  322. package/api/features/TaskHandlerResolver/abstractions.d.ts +17 -0
  323. package/api/features/TaskHandlerResolver/abstractions.js +5 -0
  324. package/api/features/TaskHandlerResolver/abstractions.js.map +1 -0
  325. package/api/features/TaskHandlerResolver/feature.d.ts +9 -0
  326. package/api/features/TaskHandlerResolver/feature.js +11 -0
  327. package/api/features/TaskHandlerResolver/feature.js.map +1 -0
  328. package/api/features/TaskHandlerResolver/index.d.ts +2 -0
  329. package/api/features/TaskHandlerResolver/index.js +2 -0
  330. package/api/features/TaskService/BackgroundTaskService.d.ts +42 -0
  331. package/api/features/TaskService/BackgroundTaskService.js +191 -0
  332. package/api/features/TaskService/BackgroundTaskService.js.map +1 -0
  333. package/api/features/TaskService/feature.d.ts +4 -0
  334. package/api/features/TaskService/feature.js +11 -0
  335. package/api/features/TaskService/feature.js.map +1 -0
  336. package/api/features/TaskService/index.d.ts +1 -0
  337. package/api/features/TaskService/index.js +1 -0
  338. package/api/features/TriggerTask/TriggerTaskUseCase.d.ts +9 -0
  339. package/api/features/TriggerTask/TriggerTaskUseCase.js +12 -0
  340. package/api/features/TriggerTask/TriggerTaskUseCase.js.map +1 -0
  341. package/api/features/TriggerTask/abstractions.d.ts +28 -0
  342. package/api/features/TriggerTask/abstractions.js +5 -0
  343. package/api/features/TriggerTask/abstractions.js.map +1 -0
  344. package/api/features/TriggerTask/feature.d.ts +4 -0
  345. package/api/features/TriggerTask/feature.js +13 -0
  346. package/api/features/TriggerTask/feature.js.map +1 -0
  347. package/api/features/TriggerTask/index.d.ts +2 -0
  348. package/api/features/TriggerTask/index.js +2 -0
  349. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.d.ts +23 -0
  350. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js +67 -0
  351. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js.map +1 -0
  352. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +14 -0
  353. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +27 -0
  354. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  355. package/api/features/UpdateBackgroundTaskSettings/abstractions.d.ts +26 -0
  356. package/api/features/UpdateBackgroundTaskSettings/abstractions.js +6 -0
  357. package/api/features/UpdateBackgroundTaskSettings/abstractions.js.map +1 -0
  358. package/api/features/UpdateBackgroundTaskSettings/feature.d.ts +4 -0
  359. package/api/features/UpdateBackgroundTaskSettings/feature.js +13 -0
  360. package/api/features/UpdateBackgroundTaskSettings/feature.js.map +1 -0
  361. package/api/features/UpdateBackgroundTaskSettings/index.d.ts +2 -0
  362. package/api/features/UpdateBackgroundTaskSettings/index.js +2 -0
  363. package/api/features/UpdateBackgroundTaskSettings/schema.d.ts +4 -0
  364. package/api/features/UpdateBackgroundTaskSettings/schema.js +8 -0
  365. package/api/features/UpdateBackgroundTaskSettings/schema.js.map +1 -0
  366. package/api/features/UpdateTask/UpdateTaskUseCase.d.ts +17 -0
  367. package/api/features/UpdateTask/UpdateTaskUseCase.js +36 -0
  368. package/api/features/UpdateTask/UpdateTaskUseCase.js.map +1 -0
  369. package/api/features/UpdateTask/abstractions.d.ts +22 -0
  370. package/api/features/UpdateTask/abstractions.js +5 -0
  371. package/api/features/UpdateTask/abstractions.js.map +1 -0
  372. package/api/features/UpdateTask/feature.d.ts +4 -0
  373. package/api/features/UpdateTask/feature.js +11 -0
  374. package/api/features/UpdateTask/feature.js.map +1 -0
  375. package/api/features/UpdateTask/index.d.ts +2 -0
  376. package/api/features/UpdateTask/index.js +2 -0
  377. package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.d.ts +12 -0
  378. package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.js +19 -0
  379. package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.js.map +1 -0
  380. package/api/features/UpdateTaskLog/abstractions.d.ts +16 -0
  381. package/api/features/UpdateTaskLog/abstractions.js +5 -0
  382. package/api/features/UpdateTaskLog/abstractions.js.map +1 -0
  383. package/api/features/UpdateTaskLog/feature.d.ts +4 -0
  384. package/api/features/UpdateTaskLog/feature.js +11 -0
  385. package/api/features/UpdateTaskLog/feature.js.map +1 -0
  386. package/api/features/UpdateTaskLog/index.d.ts +2 -0
  387. package/api/features/UpdateTaskLog/index.js +2 -0
  388. package/api/global.d.ts +1 -0
  389. package/api/global.js +1 -0
  390. package/api/graphql/BackgroundTasksGraphQLSchema.d.ts +29 -0
  391. package/api/graphql/BackgroundTasksGraphQLSchema.js +462 -0
  392. package/api/graphql/BackgroundTasksGraphQLSchema.js.map +1 -0
  393. package/api/graphql/checkPermissions.d.ts +7 -0
  394. package/api/graphql/checkPermissions.js +22 -0
  395. package/api/graphql/checkPermissions.js.map +1 -0
  396. package/api/graphql/utils.d.ts +9 -0
  397. package/api/graphql/utils.js +20 -0
  398. package/api/graphql/utils.js.map +1 -0
  399. package/api/handler/types.d.ts +21 -0
  400. package/api/handler/types.js +0 -0
  401. package/api/index.d.ts +21 -0
  402. package/api/index.js +20 -0
  403. package/api/models/BackgroundTaskSettingsModel.d.ts +8 -0
  404. package/api/models/BackgroundTaskSettingsModel.js +27 -0
  405. package/api/models/BackgroundTaskSettingsModel.js.map +1 -0
  406. package/api/permissions.d.ts +12 -0
  407. package/api/permissions.js +22 -0
  408. package/api/permissions.js.map +1 -0
  409. package/api/response/DatabaseResponse.d.ts +12 -0
  410. package/api/response/DatabaseResponse.js +127 -0
  411. package/api/response/DatabaseResponse.js.map +1 -0
  412. package/api/response/Response.d.ts +14 -0
  413. package/api/response/Response.js +91 -0
  414. package/api/response/Response.js.map +1 -0
  415. package/api/response/ResponseAbortedResult.d.ts +9 -0
  416. package/api/response/ResponseAbortedResult.js +12 -0
  417. package/api/response/ResponseAbortedResult.js.map +1 -0
  418. package/api/response/ResponseContinueResult.d.ts +17 -0
  419. package/api/response/ResponseContinueResult.js +16 -0
  420. package/api/response/ResponseContinueResult.js.map +1 -0
  421. package/api/response/ResponseDoneResult.d.ts +11 -0
  422. package/api/response/ResponseDoneResult.js +14 -0
  423. package/api/response/ResponseDoneResult.js.map +1 -0
  424. package/api/response/ResponseErrorResult.d.ts +10 -0
  425. package/api/response/ResponseErrorResult.js +13 -0
  426. package/api/response/ResponseErrorResult.js.map +1 -0
  427. package/api/response/TaskResponse.d.ts +12 -0
  428. package/api/response/TaskResponse.js +53 -0
  429. package/api/response/TaskResponse.js.map +1 -0
  430. package/api/response/abstractions/Response.d.ts +25 -0
  431. package/api/response/abstractions/Response.js +0 -0
  432. package/api/response/abstractions/ResponseAbortedResult.d.ts +5 -0
  433. package/api/response/abstractions/ResponseAbortedResult.js +0 -0
  434. package/api/response/abstractions/ResponseBaseResult.d.ts +7 -0
  435. package/api/response/abstractions/ResponseBaseResult.js +0 -0
  436. package/api/response/abstractions/ResponseContinueResult.d.ts +21 -0
  437. package/api/response/abstractions/ResponseContinueResult.js +0 -0
  438. package/api/response/abstractions/ResponseDoneResult.d.ts +13 -0
  439. package/api/response/abstractions/ResponseDoneResult.js +0 -0
  440. package/api/response/abstractions/ResponseErrorResult.d.ts +18 -0
  441. package/api/response/abstractions/ResponseErrorResult.js +0 -0
  442. package/api/response/abstractions/TaskResponse.d.ts +16 -0
  443. package/api/response/abstractions/TaskResponse.js +0 -0
  444. package/api/response/abstractions/index.d.ts +7 -0
  445. package/api/response/abstractions/index.js +7 -0
  446. package/api/response/index.d.ts +7 -0
  447. package/api/response/index.js +7 -0
  448. package/api/runner/TaskControl.d.ts +48 -0
  449. package/api/runner/TaskControl.js +186 -0
  450. package/api/runner/TaskControl.js.map +1 -0
  451. package/api/runner/TaskEventValidation.d.ts +5 -0
  452. package/api/runner/TaskEventValidation.js +20 -0
  453. package/api/runner/TaskEventValidation.js.map +1 -0
  454. package/api/runner/TaskManager.d.ts +22 -0
  455. package/api/runner/TaskManager.js +83 -0
  456. package/api/runner/TaskManager.js.map +1 -0
  457. package/api/runner/TaskManagerStore.d.ts +57 -0
  458. package/api/runner/TaskManagerStore.js +127 -0
  459. package/api/runner/TaskManagerStore.js.map +1 -0
  460. package/api/runner/TaskRunner.d.ts +25 -0
  461. package/api/runner/TaskRunner.js +86 -0
  462. package/api/runner/TaskRunner.js.map +1 -0
  463. package/api/runner/abstractions/TaskControl.d.ts +10 -0
  464. package/api/runner/abstractions/TaskControl.js +0 -0
  465. package/api/runner/abstractions/TaskEventValidation.d.ts +5 -0
  466. package/api/runner/abstractions/TaskEventValidation.js +0 -0
  467. package/api/runner/abstractions/TaskManager.d.ts +5 -0
  468. package/api/runner/abstractions/TaskManager.js +0 -0
  469. package/api/runner/abstractions/TaskManagerStore.d.ts +92 -0
  470. package/api/runner/abstractions/TaskManagerStore.js +0 -0
  471. package/api/runner/abstractions/TaskRunner.d.ts +13 -0
  472. package/api/runner/abstractions/TaskRunner.js +0 -0
  473. package/api/runner/abstractions/index.d.ts +5 -0
  474. package/api/runner/abstractions/index.js +5 -0
  475. package/api/runner/index.d.ts +1 -0
  476. package/api/runner/index.js +1 -0
  477. package/api/tasks/testingRunTask.d.ts +19 -0
  478. package/api/tasks/testingRunTask.js +25 -0
  479. package/api/tasks/testingRunTask.js.map +1 -0
  480. package/api/types.d.ts +120 -0
  481. package/api/types.js +20 -0
  482. package/api/types.js.map +1 -0
  483. package/api/utils/ObjectUpdater.d.ts +8 -0
  484. package/api/utils/ObjectUpdater.js +33 -0
  485. package/api/utils/ObjectUpdater.js.map +1 -0
  486. package/api/utils/getErrorProperties.d.ts +2 -0
  487. package/api/utils/getErrorProperties.js +9 -0
  488. package/api/utils/getErrorProperties.js.map +1 -0
  489. package/api/utils/getObjectProperties.d.ts +8 -0
  490. package/api/utils/getObjectProperties.js +11 -0
  491. package/api/utils/getObjectProperties.js.map +1 -0
  492. package/api/utils/index.d.ts +3 -0
  493. package/api/utils/index.js +3 -0
  494. package/api/utils/normalizeSelfCleanup.d.ts +2 -0
  495. package/api/utils/normalizeSelfCleanup.js +16 -0
  496. package/api/utils/normalizeSelfCleanup.js.map +1 -0
  497. package/index.d.ts +1 -0
  498. package/index.js +1 -0
  499. package/package.json +32 -13
  500. package/testing/index.d.ts +3 -0
  501. package/testing/index.js +2 -0
  502. package/testing/mockTaskTriggerTransportPlugin.d.ts +2 -0
  503. package/testing/mockTaskTriggerTransportPlugin.js +18 -0
  504. package/testing/mockTaskTriggerTransportPlugin.js.map +1 -0
  505. package/testing/runner.d.ts +19 -0
  506. package/testing/runner.js +44 -0
  507. package/testing/runner.js.map +1 -0
@@ -0,0 +1,462 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/api-graphql/graphql/abstractions.js";
2
+ import { createModelSchemaKey } from "@webiny/api-headless-cms/utils/createModelSchemaKey.js";
3
+ import { renderSortEnum } from "@webiny/api-headless-cms/utils/renderSortEnum.js";
4
+ import { renderListFilterFields } from "@webiny/api-headless-cms/utils/renderListFilterFields.js";
5
+ import { renderFields } from "@webiny/api-headless-cms/utils/renderFields.js";
6
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/abstractions.js";
7
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
8
+ import { ListModelsUseCase } from "@webiny/api-headless-cms/features/contentModel/ListModels/index.js";
9
+ import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
10
+ import { TaskLogModelProvider, TaskModelProvider } from "../domain/task/abstractions.js";
11
+ import { ListTaskLogsUseCase } from "../features/ListTaskLogs/index.js";
12
+ import { GetTaskUseCase } from "../features/GetTask/index.js";
13
+ import { ListTasksUseCase } from "../features/ListTasks/index.js";
14
+ import { DeleteTaskUseCase } from "../features/DeleteTask/index.js";
15
+ import { TaskNotFoundError } from "../domain/errors.js";
16
+ import { ListTaskDefinitionsUseCase } from "../features/ListTaskDefinitions/abstractions.js";
17
+ import { TriggerTaskUseCase } from "../features/TriggerTask/abstractions.js";
18
+ import { AbortTaskUseCase } from "../features/AbortTask/abstractions.js";
19
+ import { GetBackgroundTaskSettingsRepository } from "../features/GetBackgroundTaskSettings/abstractions.js";
20
+ import { UpdateBackgroundTaskSettingsUseCase } from "../features/UpdateBackgroundTaskSettings/abstractions.js";
21
+ import { emptyResolver, resolve, resolveList } from "./utils.js";
22
+ import { checkPermissions } from "./checkPermissions.js";
23
+ const findTask = async (getTask, id)=>{
24
+ const result = await getTask.execute(id);
25
+ if (result.isOk()) return result.value;
26
+ if (result.error instanceof TaskNotFoundError) return null;
27
+ throw result.error;
28
+ };
29
+ function addQueryResolvers(builder) {
30
+ builder.addResolver({
31
+ path: "Query.backgroundTasks",
32
+ resolver: ()=>emptyResolver
33
+ });
34
+ builder.addResolver({
35
+ path: "WebinyBackgroundTaskQuery.getTask",
36
+ dependencies: [
37
+ GetTaskUseCase
38
+ ],
39
+ resolver: (getTask)=>({ args, context })=>resolve(async ()=>{
40
+ await checkPermissions(context, {
41
+ rwd: "r"
42
+ });
43
+ return await findTask(getTask, args.id);
44
+ })
45
+ });
46
+ builder.addResolver({
47
+ path: "WebinyBackgroundTaskQuery.listTasks",
48
+ dependencies: [
49
+ ListTasksUseCase
50
+ ],
51
+ resolver: (listTasks)=>({ args, context })=>resolveList(async ()=>{
52
+ await checkPermissions(context, {
53
+ rwd: "r"
54
+ });
55
+ const result = await listTasks.execute(args);
56
+ if (result.isFail()) throw result.error;
57
+ return result.value;
58
+ })
59
+ });
60
+ builder.addResolver({
61
+ path: "WebinyBackgroundTaskQuery.listDefinitions",
62
+ dependencies: [
63
+ ListTaskDefinitionsUseCase
64
+ ],
65
+ resolver: (listTaskDefinitions)=>({ context })=>resolve(async ()=>{
66
+ await checkPermissions(context, {
67
+ rwd: "r"
68
+ });
69
+ return listTaskDefinitions.execute().filter((item)=>!item.isPrivate);
70
+ })
71
+ });
72
+ builder.addResolver({
73
+ path: "WebinyBackgroundTaskQuery.listLogs",
74
+ dependencies: [
75
+ ListTaskLogsUseCase
76
+ ],
77
+ resolver: (listTaskLogs)=>({ args, context })=>resolveList(async ()=>{
78
+ await checkPermissions(context, {
79
+ rwd: "r"
80
+ });
81
+ const result = await listTaskLogs.execute(args);
82
+ if (result.isFail()) throw result.error;
83
+ return result.value;
84
+ })
85
+ });
86
+ builder.addResolver({
87
+ path: "WebinyBackgroundTaskQuery.getSettings",
88
+ dependencies: [
89
+ GetBackgroundTaskSettingsRepository
90
+ ],
91
+ resolver: (repository)=>({ context })=>resolve(async ()=>{
92
+ await checkPermissions(context, {
93
+ rwd: "r"
94
+ });
95
+ const result = await repository.execute();
96
+ if (result.isFail()) throw result.error;
97
+ return result.value;
98
+ })
99
+ });
100
+ }
101
+ function addMutationResolvers(builder) {
102
+ builder.addResolver({
103
+ path: "Mutation.backgroundTasks",
104
+ resolver: ()=>emptyResolver
105
+ });
106
+ builder.addResolver({
107
+ path: "WebinyBackgroundTaskMutation.abortTask",
108
+ dependencies: [
109
+ AbortTaskUseCase
110
+ ],
111
+ resolver: (abortTask)=>async ({ args, context })=>{
112
+ await checkPermissions(context, {
113
+ rwd: "w"
114
+ });
115
+ return resolve(async ()=>{
116
+ const result = await abortTask.execute(args);
117
+ if (result.isOk()) return result.value;
118
+ throw result.error;
119
+ });
120
+ }
121
+ });
122
+ builder.addResolver({
123
+ path: "WebinyBackgroundTaskMutation.triggerTask",
124
+ dependencies: [
125
+ TriggerTaskUseCase
126
+ ],
127
+ resolver: (triggerTask)=>async ({ args, context })=>{
128
+ await checkPermissions(context, {
129
+ rwd: "w"
130
+ });
131
+ return resolve(async ()=>{
132
+ const result = await triggerTask.execute(args);
133
+ if (result.isOk()) return result.value;
134
+ throw result.error;
135
+ });
136
+ }
137
+ });
138
+ builder.addResolver({
139
+ path: "WebinyBackgroundTaskMutation.deleteTask",
140
+ dependencies: [
141
+ DeleteTaskUseCase
142
+ ],
143
+ resolver: (deleteTask)=>async ({ args, context })=>{
144
+ await checkPermissions(context, {
145
+ rwd: "d"
146
+ });
147
+ return resolve(async ()=>{
148
+ const result = await deleteTask.execute(args.id);
149
+ if (result.isFail()) throw result.error;
150
+ return true;
151
+ });
152
+ }
153
+ });
154
+ builder.addResolver({
155
+ path: "WebinyBackgroundTaskMutation.updateSettings",
156
+ dependencies: [
157
+ UpdateBackgroundTaskSettingsUseCase
158
+ ],
159
+ resolver: (updateSettings)=>({ args })=>resolve(async ()=>{
160
+ const result = await updateSettings.execute(args.input);
161
+ if (result.isFail()) throw result.error;
162
+ return result.value;
163
+ })
164
+ });
165
+ }
166
+ function addFieldResolvers(builder) {
167
+ builder.addResolver({
168
+ path: "WebinyBackgroundTask.logs",
169
+ dependencies: [
170
+ ListTaskLogsUseCase
171
+ ],
172
+ resolver: (listTaskLogs)=>async ({ parent, args })=>{
173
+ const result = await listTaskLogs.execute({
174
+ sort: [
175
+ "createdBy_ASC"
176
+ ],
177
+ limit: 10000,
178
+ ...args,
179
+ where: {
180
+ ...args?.where,
181
+ task: parent.id
182
+ }
183
+ });
184
+ if (result.isFail()) throw result.error;
185
+ return result.value.items;
186
+ }
187
+ });
188
+ builder.addResolver({
189
+ path: "WebinyBackgroundTaskLog.task",
190
+ dependencies: [
191
+ GetTaskUseCase
192
+ ],
193
+ resolver: (getTask)=>async ({ parent })=>await findTask(getTask, parent.task)
194
+ });
195
+ }
196
+ class BackgroundTasksGraphQLSchemaImpl {
197
+ constructor(tenantContext, identityContext, taskModelProvider, logModelProvider, listModelsUseCase, fieldRegistry){
198
+ this.tenantContext = tenantContext;
199
+ this.identityContext = identityContext;
200
+ this.taskModelProvider = taskModelProvider;
201
+ this.logModelProvider = logModelProvider;
202
+ this.listModelsUseCase = listModelsUseCase;
203
+ this.fieldRegistry = fieldRegistry;
204
+ }
205
+ async getSchemaKey() {
206
+ if (!this.tenantContext.getTenant()) return "BackgroundTasks:no-tenant";
207
+ const { taskModel, logModel, models } = await this.loadInputs();
208
+ const modelKey = createModelSchemaKey([
209
+ taskModel,
210
+ logModel
211
+ ], models);
212
+ return `BackgroundTasks:${modelKey}`;
213
+ }
214
+ async execute(builder) {
215
+ if (!this.tenantContext.getTenant()) return builder;
216
+ const typeDefs = await this.createTypeDefs();
217
+ builder.addTypeDefs(typeDefs);
218
+ addQueryResolvers(builder);
219
+ addMutationResolvers(builder);
220
+ addFieldResolvers(builder);
221
+ return builder;
222
+ }
223
+ async loadInputs() {
224
+ const taskModel = await this.taskModelProvider.get();
225
+ const logModel = await this.logModelProvider.get();
226
+ const modelsResult = await this.identityContext.withoutAuthorization(async ()=>await this.listModelsUseCase.execute({
227
+ includePrivate: false
228
+ }));
229
+ if (modelsResult.isFail()) throw modelsResult.error;
230
+ const models = modelsResult.value.filter((model)=>model.fields.length > 0);
231
+ return {
232
+ taskModel,
233
+ logModel,
234
+ models
235
+ };
236
+ }
237
+ async createTypeDefs() {
238
+ const { taskModel, logModel, models } = await this.loadInputs();
239
+ const fieldRegistry = this.fieldRegistry;
240
+ const taskFields = renderFields({
241
+ models,
242
+ model: taskModel,
243
+ fields: taskModel.fields,
244
+ type: "manage",
245
+ fieldRegistry
246
+ });
247
+ const logFields = renderFields({
248
+ models,
249
+ model: logModel,
250
+ fields: logModel.fields.filter((field)=>"task" !== field.fieldId),
251
+ type: "manage",
252
+ fieldRegistry
253
+ });
254
+ const listTasksFilterFieldsRender = renderListFilterFields({
255
+ model: taskModel,
256
+ fields: taskModel.fields,
257
+ type: "manage",
258
+ fieldRegistry,
259
+ excludeFields: [
260
+ "entryId"
261
+ ]
262
+ });
263
+ const listLogsFilterFieldsRender = renderListFilterFields({
264
+ model: logModel,
265
+ fields: logModel.fields,
266
+ type: "manage",
267
+ fieldRegistry,
268
+ excludeFields: [
269
+ "entryId"
270
+ ]
271
+ });
272
+ const sortTasksEnumRender = renderSortEnum({
273
+ model: taskModel,
274
+ fields: taskModel.fields,
275
+ fieldRegistry,
276
+ sorters: []
277
+ });
278
+ const sortLogsEnumRender = renderSortEnum({
279
+ model: logModel,
280
+ fields: logModel.fields,
281
+ fieldRegistry,
282
+ sorters: []
283
+ });
284
+ return `
285
+ type WebinyBackgroundTaskError {
286
+ message: String
287
+ code: String
288
+ data: JSON
289
+ stack: String
290
+ }
291
+
292
+ ${taskFields.map((f)=>f.typeDefs).join("\n")}
293
+ ${logFields.map((f)=>f.typeDefs).join("\n")}
294
+
295
+ type WebinyBackgroundTask {
296
+ id: String!
297
+ createdOn: DateTime!
298
+ savedOn: DateTime
299
+ createdBy: WebinyBackgroundTaskIdentity!
300
+ logs(
301
+ where: WebinyBackgroundTaskLogListWhereInput
302
+ limit: Number
303
+ sort: [WebinyBackgroundTaskLogListSorter!]
304
+ ): [WebinyBackgroundTaskLog!]!
305
+ ${taskFields.map((f)=>f.fields).join("\n")}
306
+ }
307
+
308
+ type WebinyBackgroundTaskResponse {
309
+ data: WebinyBackgroundTask
310
+ error: WebinyBackgroundTaskError
311
+ }
312
+
313
+ type WebinyBackgroundTaskMeta {
314
+ cursor: String
315
+ hasMoreItems: Boolean!
316
+ totalCount: Int!
317
+ }
318
+
319
+ type WebinyBackgroundTaskListResponse {
320
+ data: [WebinyBackgroundTask!]
321
+ meta: WebinyBackgroundTaskMeta
322
+ error: WebinyBackgroundTaskError
323
+ }
324
+
325
+ type WebinyBackgroundTaskLog {
326
+ id: String!
327
+ createdOn: DateTime!
328
+ createdBy: WebinyBackgroundTaskIdentity!
329
+ task: WebinyBackgroundTask!
330
+ ${logFields.map((f)=>f.fields).join("\n")}
331
+ }
332
+
333
+ type WebinyBackgroundTaskLogListResponse {
334
+ data: [WebinyBackgroundTaskLog!]
335
+ meta: WebinyBackgroundTaskMeta
336
+ error: WebinyBackgroundTaskError
337
+ }
338
+
339
+ type WebinyBackgroundTaskDefinition {
340
+ id: String!
341
+ title: String!
342
+ description: String
343
+ }
344
+
345
+ type WebinyBackgroundTaskListDefinitionsResponse {
346
+ data: [WebinyBackgroundTaskDefinition!]
347
+ error: WebinyBackgroundTaskError
348
+ }
349
+
350
+ type WebinyBackgroundTaskIdentity {
351
+ id: String!
352
+ displayName: String!
353
+ type: String
354
+ }
355
+
356
+ type WebinyBackgroundTaskTriggerResponse {
357
+ data: WebinyBackgroundTask
358
+ error: WebinyBackgroundTaskError
359
+ }
360
+
361
+ type WebinyBackgroundTaskDeleteResponse {
362
+ data: Boolean
363
+ error: WebinyBackgroundTaskError
364
+ }
365
+
366
+ input WebinyBackgroundTaskListWhereInput {
367
+ ${listTasksFilterFieldsRender.allFiltersAsString() || "_empty: String"}
368
+ }
369
+
370
+ input WebinyBackgroundTaskLogListWhereInput {
371
+ ${listLogsFilterFieldsRender.allFiltersAsString() || "_empty: String"}
372
+ }
373
+
374
+ enum WebinyBackgroundTaskListSorter {
375
+ ${sortTasksEnumRender}
376
+ }
377
+
378
+ enum WebinyBackgroundTaskLogListSorter {
379
+ ${sortLogsEnumRender}
380
+ }
381
+
382
+ type WebinyBackgroundTaskQuery {
383
+ _empty: String
384
+ }
385
+
386
+ type WebinyBackgroundTaskMutation {
387
+ _empty: String
388
+ }
389
+
390
+ extend type Query {
391
+ backgroundTasks: WebinyBackgroundTaskQuery
392
+ }
393
+
394
+ extend type Mutation {
395
+ backgroundTasks: WebinyBackgroundTaskMutation
396
+ }
397
+
398
+ extend type WebinyBackgroundTaskQuery {
399
+ getTask(id: ID!): WebinyBackgroundTaskResponse!
400
+ listTasks(
401
+ where: WebinyBackgroundTaskListWhereInput
402
+ sort: [WebinyBackgroundTaskListSorter!]
403
+ limit: Int
404
+ after: String
405
+ search: String
406
+ ): WebinyBackgroundTaskListResponse!
407
+ listDefinitions: WebinyBackgroundTaskListDefinitionsResponse!
408
+
409
+ listLogs(
410
+ where: WebinyBackgroundTaskLogListWhereInput
411
+ sort: [WebinyBackgroundTaskLogListSorter!]
412
+ limit: Int
413
+ after: String
414
+ search: String
415
+ ): WebinyBackgroundTaskLogListResponse!
416
+ }
417
+
418
+ extend type WebinyBackgroundTaskMutation {
419
+ triggerTask(definition: String!, input: JSON, name: String, delay: Number): WebinyBackgroundTaskTriggerResponse!
420
+ abortTask(id: ID!, message: String): WebinyBackgroundTaskResponse!
421
+ deleteTask(id: ID!): WebinyBackgroundTaskDeleteResponse!
422
+ }
423
+
424
+ type WebinyBackgroundTaskSettings {
425
+ retentionDays: Int
426
+ }
427
+
428
+ type WebinyBackgroundTaskSettingsResponse {
429
+ data: WebinyBackgroundTaskSettings
430
+ error: WebinyBackgroundTaskError
431
+ }
432
+
433
+ input UpdateBackgroundTaskSettingsInput {
434
+ retentionDays: Int
435
+ }
436
+
437
+ extend type WebinyBackgroundTaskQuery {
438
+ getSettings: WebinyBackgroundTaskSettingsResponse
439
+ }
440
+
441
+ extend type WebinyBackgroundTaskMutation {
442
+ updateSettings(
443
+ input: UpdateBackgroundTaskSettingsInput!
444
+ ): WebinyBackgroundTaskSettingsResponse
445
+ }
446
+ `;
447
+ }
448
+ }
449
+ const BackgroundTasksGraphQLSchema = GraphQLSchemaFactory.createImplementation({
450
+ implementation: BackgroundTasksGraphQLSchemaImpl,
451
+ dependencies: [
452
+ TenantContext,
453
+ IdentityContext,
454
+ TaskModelProvider,
455
+ TaskLogModelProvider,
456
+ ListModelsUseCase,
457
+ CmsModelFieldToGraphQLRegistry
458
+ ]
459
+ });
460
+ export { BackgroundTasksGraphQLSchema };
461
+
462
+ //# sourceMappingURL=BackgroundTasksGraphQLSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/graphql/BackgroundTasksGraphQLSchema.js","sources":["../../../src/api/graphql/BackgroundTasksGraphQLSchema.ts"],"sourcesContent":["import { GraphQLSchemaFactory } from \"@webiny/api-graphql/graphql/abstractions.js\";\nimport { createModelSchemaKey } from \"@webiny/api-headless-cms/utils/createModelSchemaKey.js\";\nimport { renderSortEnum } from \"@webiny/api-headless-cms/utils/renderSortEnum.js\";\nimport { renderListFilterFields } from \"@webiny/api-headless-cms/utils/renderListFilterFields.js\";\nimport { renderFields } from \"@webiny/api-headless-cms/utils/renderFields.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\nimport { ListModelsUseCase } from \"@webiny/api-headless-cms/features/contentModel/ListModels/index.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/exports/api/cms/graphql.js\";\nimport type { Context, IListTaskLogParams, IListTaskParams, ITask, ITaskLog } from \"~/api/types.js\";\nimport { TaskLogModelProvider } from \"~/api/domain/task/abstractions.js\";\nimport { TaskModelProvider } from \"~/api/domain/task/abstractions.js\";\nimport { ListTaskLogsUseCase } from \"~/api/features/ListTaskLogs/index.js\";\nimport { GetTaskUseCase } from \"~/api/features/GetTask/index.js\";\nimport { ListTasksUseCase } from \"~/api/features/ListTasks/index.js\";\nimport { DeleteTaskUseCase } from \"~/api/features/DeleteTask/index.js\";\nimport { TaskNotFoundError } from \"~/api/domain/errors.js\";\nimport { ListTaskDefinitionsUseCase } from \"~/api/features/ListTaskDefinitions/abstractions.js\";\nimport { TriggerTaskUseCase } from \"~/api/features/TriggerTask/abstractions.js\";\nimport { AbortTaskUseCase } from \"~/api/features/AbortTask/abstractions.js\";\nimport { GetBackgroundTaskSettingsRepository } from \"~/api/features/GetBackgroundTaskSettings/abstractions.js\";\nimport { UpdateBackgroundTaskSettingsUseCase } from \"~/api/features/UpdateBackgroundTaskSettings/abstractions.js\";\nimport type { IUpdateBackgroundTaskSettingsInput } from \"~/api/features/UpdateBackgroundTaskSettings/abstractions.js\";\nimport { emptyResolver, resolve, resolveList } from \"./utils.js\";\nimport { checkPermissions } from \"./checkPermissions.js\";\n\n// The API answers `null` for a task that doesn't exist; any other failure is an error.\nconst findTask = async (getTask: GetTaskUseCase.Interface, id: string) => {\n const result = await getTask.execute(id);\n if (result.isOk()) {\n return result.value;\n } else if (result.error instanceof TaskNotFoundError) {\n return null;\n }\n throw result.error;\n};\n\ninterface IGetTaskQueryParams {\n id: string;\n}\n\ninterface IAbortTaskMutationParams {\n id: string;\n message?: string;\n}\n\ninterface ITriggerTaskMutationParams {\n name?: string;\n definition: string;\n input?: Record<string, any>;\n delay?: number;\n}\n\ninterface IDeleteTaskMutationParams {\n id: string;\n}\n\ninterface IUpdateSettingsArgs {\n input: IUpdateBackgroundTaskSettingsInput;\n}\n\ninterface IResolverParams<TArgs = unknown, TParent = unknown> {\n parent: TParent;\n args: TArgs;\n context: Context;\n}\n\nfunction addQueryResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"Query.backgroundTasks\",\n resolver: () => emptyResolver\n });\n\n builder.addResolver({\n path: \"WebinyBackgroundTaskQuery.getTask\",\n dependencies: [GetTaskUseCase],\n resolver: (getTask: GetTaskUseCase.Interface) => {\n return ({ args, context }: IResolverParams<IGetTaskQueryParams>) => {\n return resolve(async () => {\n await checkPermissions(context, { rwd: \"r\" });\n return await findTask(getTask, args.id);\n });\n };\n }\n });\n\n builder.addResolver({\n path: \"WebinyBackgroundTaskQuery.listTasks\",\n dependencies: [ListTasksUseCase],\n resolver: (listTasks: ListTasksUseCase.Interface) => {\n return ({ args, context }: IResolverParams<IListTaskParams>) => {\n return resolveList(async () => {\n await checkPermissions(context, { rwd: \"r\" });\n const result = await listTasks.execute(args);\n if (result.isFail()) {\n throw result.error;\n }\n return result.value;\n });\n };\n }\n });\n\n builder.addResolver({\n path: \"WebinyBackgroundTaskQuery.listDefinitions\",\n dependencies: [ListTaskDefinitionsUseCase],\n resolver: (listTaskDefinitions: ListTaskDefinitionsUseCase.Interface) => {\n return ({ context }: IResolverParams) => {\n return resolve(async () => {\n await checkPermissions(context, { rwd: \"r\" });\n // Do not output private tasks.\n return listTaskDefinitions.execute().filter(item => {\n return !item.isPrivate;\n });\n });\n };\n }\n });\n\n builder.addResolver({\n path: \"WebinyBackgroundTaskQuery.listLogs\",\n dependencies: [ListTaskLogsUseCase],\n resolver: (listTaskLogs: ListTaskLogsUseCase.Interface) => {\n return ({ args, context }: IResolverParams<IListTaskLogParams>) => {\n return resolveList(async () => {\n await checkPermissions(context, { rwd: \"r\" });\n const result = await listTaskLogs.execute(args);\n if (result.isFail()) {\n throw result.error;\n }\n return result.value;\n });\n };\n }\n });\n\n builder.addResolver({\n path: \"WebinyBackgroundTaskQuery.getSettings\",\n dependencies: [GetBackgroundTaskSettingsRepository],\n resolver: (repository: GetBackgroundTaskSettingsRepository.Interface) => {\n return ({ context }: IResolverParams) => {\n return resolve(async () => {\n await checkPermissions(context, { rwd: \"r\" });\n const result = await repository.execute();\n if (result.isFail()) {\n throw result.error;\n }\n return result.value;\n });\n };\n }\n });\n}\n\nfunction addMutationResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"Mutation.backgroundTasks\",\n resolver: () => emptyResolver\n });\n\n builder.addResolver({\n path: \"WebinyBackgroundTaskMutation.abortTask\",\n dependencies: [AbortTaskUseCase],\n resolver: (abortTask: AbortTaskUseCase.Interface) => {\n return async ({ args, context }: IResolverParams<IAbortTaskMutationParams>) => {\n await checkPermissions(context, { rwd: \"w\" });\n return resolve<ITask>(async () => {\n const result = await abortTask.execute(args);\n if (result.isOk()) {\n return result.value;\n }\n\n throw result.error;\n });\n };\n }\n });\n\n builder.addResolver({\n path: \"WebinyBackgroundTaskMutation.triggerTask\",\n dependencies: [TriggerTaskUseCase],\n resolver: (triggerTask: TriggerTaskUseCase.Interface) => {\n return async ({ args, context }: IResolverParams<ITriggerTaskMutationParams>) => {\n await checkPermissions(context, { rwd: \"w\" });\n return resolve<ITask>(async () => {\n const result = await triggerTask.execute(args);\n if (result.isOk()) {\n return result.value;\n }\n\n throw result.error;\n });\n };\n }\n });\n\n builder.addResolver({\n path: \"WebinyBackgroundTaskMutation.deleteTask\",\n dependencies: [DeleteTaskUseCase],\n resolver: (deleteTask: DeleteTaskUseCase.Interface) => {\n return async ({ args, context }: IResolverParams<IDeleteTaskMutationParams>) => {\n await checkPermissions(context, { rwd: \"d\" });\n return resolve(async () => {\n const result = await deleteTask.execute(args.id);\n if (result.isFail()) {\n throw result.error;\n }\n return true;\n });\n };\n }\n });\n\n builder.addResolver({\n path: \"WebinyBackgroundTaskMutation.updateSettings\",\n dependencies: [UpdateBackgroundTaskSettingsUseCase],\n resolver: (updateSettings: UpdateBackgroundTaskSettingsUseCase.Interface) => {\n return ({ args }: IResolverParams<IUpdateSettingsArgs>) => {\n return resolve(async () => {\n const result = await updateSettings.execute(args.input);\n if (result.isFail()) {\n throw result.error;\n }\n return result.value;\n });\n };\n }\n });\n}\n\nfunction addFieldResolvers(builder: GraphQLSchemaFactory.SchemaBuilder): void {\n builder.addResolver({\n path: \"WebinyBackgroundTask.logs\",\n dependencies: [ListTaskLogsUseCase],\n resolver: (listTaskLogs: ListTaskLogsUseCase.Interface) => {\n return async ({ parent, args }: IResolverParams<IListTaskLogParams, ITask>) => {\n const result = await listTaskLogs.execute({\n sort: [\"createdBy_ASC\"],\n limit: 10000,\n ...args,\n where: {\n ...args?.where,\n task: parent.id\n }\n });\n if (result.isFail()) {\n throw result.error;\n }\n return result.value.items;\n };\n }\n });\n\n builder.addResolver({\n path: \"WebinyBackgroundTaskLog.task\",\n dependencies: [GetTaskUseCase],\n resolver: (getTask: GetTaskUseCase.Interface) => {\n return async ({ parent }: IResolverParams<unknown, ITaskLog>) => {\n return await findTask(getTask, parent.task);\n };\n }\n });\n}\n\n/**\n * The background-tasks GraphQL schema. Its shape depends on the CMS task/log content models, which\n * are loaded when the schema is composed. The settings schema lives here too, because it extends\n * the task schema's `WebinyBackgroundTaskQuery`/`Mutation` types.\n */\nclass BackgroundTasksGraphQLSchemaImpl implements GraphQLSchemaFactory.Interface {\n public constructor(\n private readonly tenantContext: TenantContext.Interface,\n private readonly identityContext: IdentityContext.Interface,\n private readonly taskModelProvider: TaskModelProvider.Interface,\n private readonly logModelProvider: TaskLogModelProvider.Interface,\n private readonly listModelsUseCase: ListModelsUseCase.Interface,\n private readonly fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface\n ) {}\n\n public async getSchemaKey(): Promise<string> {\n if (!this.tenantContext.getTenant()) {\n return \"BackgroundTasks:no-tenant\";\n }\n\n const { taskModel, logModel, models } = await this.loadInputs();\n const modelKey = createModelSchemaKey([taskModel, logModel], models);\n return `BackgroundTasks:${modelKey}`;\n }\n\n public async execute(\n builder: GraphQLSchemaFactory.SchemaBuilder\n ): Promise<GraphQLSchemaFactory.SchemaBuilder> {\n if (!this.tenantContext.getTenant()) {\n return builder;\n }\n\n const typeDefs = await this.createTypeDefs();\n\n builder.addTypeDefs(typeDefs);\n addQueryResolvers(builder);\n addMutationResolvers(builder);\n addFieldResolvers(builder);\n\n return builder;\n }\n\n private async loadInputs() {\n const taskModel = await this.taskModelProvider.get();\n const logModel = await this.logModelProvider.get();\n\n const modelsResult = await this.identityContext.withoutAuthorization(async () => {\n return await this.listModelsUseCase.execute({ includePrivate: false });\n });\n if (modelsResult.isFail()) {\n throw modelsResult.error;\n }\n const models = modelsResult.value.filter(model => model.fields.length > 0);\n\n return { taskModel, logModel, models };\n }\n\n private async createTypeDefs(): Promise<string> {\n const { taskModel, logModel, models } = await this.loadInputs();\n const fieldRegistry = this.fieldRegistry;\n\n const taskFields = renderFields({\n models,\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const logFields = renderFields({\n models,\n model: logModel,\n fields: logModel.fields.filter(field => field.fieldId !== \"task\"),\n type: \"manage\",\n fieldRegistry\n });\n\n const listTasksFilterFieldsRender = renderListFilterFields({\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldRegistry,\n excludeFields: [\"entryId\"]\n });\n\n const listLogsFilterFieldsRender = renderListFilterFields({\n model: logModel,\n fields: logModel.fields,\n type: \"manage\",\n fieldRegistry,\n excludeFields: [\"entryId\"]\n });\n\n const sortTasksEnumRender = renderSortEnum({\n model: taskModel,\n fields: taskModel.fields,\n fieldRegistry,\n sorters: []\n });\n\n const sortLogsEnumRender = renderSortEnum({\n model: logModel,\n fields: logModel.fields,\n fieldRegistry,\n sorters: []\n });\n\n return /* GraphQL */ `\n type WebinyBackgroundTaskError {\n message: String\n code: String\n data: JSON\n stack: String\n }\n\n ${taskFields.map(f => f.typeDefs).join(\"\\n\")}\n ${logFields.map(f => f.typeDefs).join(\"\\n\")}\n\n type WebinyBackgroundTask {\n id: String!\n createdOn: DateTime!\n savedOn: DateTime\n createdBy: WebinyBackgroundTaskIdentity!\n logs(\n where: WebinyBackgroundTaskLogListWhereInput\n limit: Number\n sort: [WebinyBackgroundTaskLogListSorter!]\n ): [WebinyBackgroundTaskLog!]!\n ${taskFields.map(f => f.fields).join(\"\\n\")}\n }\n\n type WebinyBackgroundTaskResponse {\n data: WebinyBackgroundTask\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskMeta {\n cursor: String\n hasMoreItems: Boolean!\n totalCount: Int!\n }\n\n type WebinyBackgroundTaskListResponse {\n data: [WebinyBackgroundTask!]\n meta: WebinyBackgroundTaskMeta\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskLog {\n id: String!\n createdOn: DateTime!\n createdBy: WebinyBackgroundTaskIdentity!\n task: WebinyBackgroundTask!\n ${logFields.map(f => f.fields).join(\"\\n\")}\n }\n\n type WebinyBackgroundTaskLogListResponse {\n data: [WebinyBackgroundTaskLog!]\n meta: WebinyBackgroundTaskMeta\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskDefinition {\n id: String!\n title: String!\n description: String\n }\n\n type WebinyBackgroundTaskListDefinitionsResponse {\n data: [WebinyBackgroundTaskDefinition!]\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskIdentity {\n id: String!\n displayName: String!\n type: String\n }\n\n type WebinyBackgroundTaskTriggerResponse {\n data: WebinyBackgroundTask\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskDeleteResponse {\n data: Boolean\n error: WebinyBackgroundTaskError\n }\n\n input WebinyBackgroundTaskListWhereInput {\n ${listTasksFilterFieldsRender.allFiltersAsString() || \"_empty: String\"}\n }\n\n input WebinyBackgroundTaskLogListWhereInput {\n ${listLogsFilterFieldsRender.allFiltersAsString() || \"_empty: String\"}\n }\n\n enum WebinyBackgroundTaskListSorter {\n ${sortTasksEnumRender}\n }\n\n enum WebinyBackgroundTaskLogListSorter {\n ${sortLogsEnumRender}\n }\n\n type WebinyBackgroundTaskQuery {\n _empty: String\n }\n\n type WebinyBackgroundTaskMutation {\n _empty: String\n }\n\n extend type Query {\n backgroundTasks: WebinyBackgroundTaskQuery\n }\n\n extend type Mutation {\n backgroundTasks: WebinyBackgroundTaskMutation\n }\n\n extend type WebinyBackgroundTaskQuery {\n getTask(id: ID!): WebinyBackgroundTaskResponse!\n listTasks(\n where: WebinyBackgroundTaskListWhereInput\n sort: [WebinyBackgroundTaskListSorter!]\n limit: Int\n after: String\n search: String\n ): WebinyBackgroundTaskListResponse!\n listDefinitions: WebinyBackgroundTaskListDefinitionsResponse!\n\n listLogs(\n where: WebinyBackgroundTaskLogListWhereInput\n sort: [WebinyBackgroundTaskLogListSorter!]\n limit: Int\n after: String\n search: String\n ): WebinyBackgroundTaskLogListResponse!\n }\n\n extend type WebinyBackgroundTaskMutation {\n triggerTask(definition: String!, input: JSON, name: String, delay: Number): WebinyBackgroundTaskTriggerResponse!\n abortTask(id: ID!, message: String): WebinyBackgroundTaskResponse!\n deleteTask(id: ID!): WebinyBackgroundTaskDeleteResponse!\n }\n\n type WebinyBackgroundTaskSettings {\n retentionDays: Int\n }\n\n type WebinyBackgroundTaskSettingsResponse {\n data: WebinyBackgroundTaskSettings\n error: WebinyBackgroundTaskError\n }\n\n input UpdateBackgroundTaskSettingsInput {\n retentionDays: Int\n }\n\n extend type WebinyBackgroundTaskQuery {\n getSettings: WebinyBackgroundTaskSettingsResponse\n }\n\n extend type WebinyBackgroundTaskMutation {\n updateSettings(\n input: UpdateBackgroundTaskSettingsInput!\n ): WebinyBackgroundTaskSettingsResponse\n }\n `;\n }\n}\n\nexport const BackgroundTasksGraphQLSchema = GraphQLSchemaFactory.createImplementation({\n implementation: BackgroundTasksGraphQLSchemaImpl,\n dependencies: [\n TenantContext,\n IdentityContext,\n TaskModelProvider,\n TaskLogModelProvider,\n ListModelsUseCase,\n CmsModelFieldToGraphQLRegistry\n ]\n});\n"],"names":["findTask","getTask","id","result","TaskNotFoundError","addQueryResolvers","builder","emptyResolver","GetTaskUseCase","args","context","resolve","checkPermissions","ListTasksUseCase","listTasks","resolveList","ListTaskDefinitionsUseCase","listTaskDefinitions","item","ListTaskLogsUseCase","listTaskLogs","GetBackgroundTaskSettingsRepository","repository","addMutationResolvers","AbortTaskUseCase","abortTask","TriggerTaskUseCase","triggerTask","DeleteTaskUseCase","deleteTask","UpdateBackgroundTaskSettingsUseCase","updateSettings","addFieldResolvers","parent","BackgroundTasksGraphQLSchemaImpl","tenantContext","identityContext","taskModelProvider","logModelProvider","listModelsUseCase","fieldRegistry","taskModel","logModel","models","modelKey","createModelSchemaKey","typeDefs","modelsResult","model","taskFields","renderFields","logFields","field","listTasksFilterFieldsRender","renderListFilterFields","listLogsFilterFieldsRender","sortTasksEnumRender","renderSortEnum","sortLogsEnumRender","f","BackgroundTasksGraphQLSchema","GraphQLSchemaFactory","TenantContext","IdentityContext","TaskModelProvider","TaskLogModelProvider","ListModelsUseCase","CmsModelFieldToGraphQLRegistry"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Context } from "../../api/types.js";
2
+ /**
3
+ * @throws
4
+ */
5
+ export declare const checkPermissions: (context: Context, check?: {
6
+ rwd?: string;
7
+ }) => Promise<void>;
@@ -0,0 +1,22 @@
1
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
2
+ import { NotAuthorizedError } from "@webiny/api-core/features/security/shared/index.js";
3
+ const checkPermissions = async (context, check = {})=>{
4
+ const taskPermissions = await context.container.resolve(IdentityContext).getPermissions("tasks");
5
+ const relevant = taskPermissions.filter((current)=>{
6
+ if (check.rwd && !hasRwd(current, check.rwd)) return false;
7
+ return true;
8
+ });
9
+ if (0 === relevant.length) throw new NotAuthorizedError();
10
+ };
11
+ const hasRwd = (permissions, rwd)=>{
12
+ if (!Array.isArray(permissions)) permissions = [
13
+ permissions
14
+ ];
15
+ if (!rwd) return true;
16
+ const permissionWithoutRwdRestrictions = permissions.some((permission)=>"string" != typeof permission.rwd);
17
+ if (permissionWithoutRwdRestrictions) return true;
18
+ return permissions.some((permission)=>permission.rwd && permission.rwd.includes(rwd));
19
+ };
20
+ export { checkPermissions };
21
+
22
+ //# sourceMappingURL=checkPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/graphql/checkPermissions.js","sources":["../../../src/api/graphql/checkPermissions.ts"],"sourcesContent":["import type { Context, TaskPermission } from \"~/api/types.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\nimport { NotAuthorizedError } from \"@webiny/api-core/features/security/shared/index.js\";\n\n/**\n * @throws\n */\nexport const checkPermissions = async (\n context: Context,\n check: { rwd?: string } = {}\n): Promise<void> => {\n const taskPermissions = await context.container\n .resolve(IdentityContext)\n .getPermissions<TaskPermission>(\"tasks\");\n\n const relevant = taskPermissions.filter(current => {\n if (check.rwd && !hasRwd(current, check.rwd)) {\n return false;\n }\n\n return true;\n });\n\n if (relevant.length === 0) {\n throw new NotAuthorizedError();\n }\n};\n\nconst hasRwd = (permissions: TaskPermission | TaskPermission[], rwd: string): boolean => {\n if (!Array.isArray(permissions)) {\n permissions = [permissions];\n }\n\n if (!rwd) {\n return true;\n }\n\n // Is there a permission that doesn't restrict RWD permissions, that means all RWD permissions are allowed.\n const permissionWithoutRwdRestrictions = permissions.some(permission => {\n return typeof permission.rwd !== \"string\";\n });\n\n if (permissionWithoutRwdRestrictions) {\n return true;\n }\n\n // If there is no permission that doesn't restrict RWD permissions, that means we need to check if the RWD.\n return permissions.some(permission => {\n return permission.rwd && permission.rwd.includes(rwd);\n });\n};\n"],"names":["checkPermissions","context","check","taskPermissions","IdentityContext","relevant","current","hasRwd","NotAuthorizedError","permissions","rwd","Array","permissionWithoutRwdRestrictions","permission"],"mappings":";;AAOO,MAAMA,mBAAmB,OAC5BC,SACAC,QAA0B,CAAC,CAAC;IAE5B,MAAMC,kBAAkB,MAAMF,QAAQ,SAAS,CAC1C,OAAO,CAACG,iBACR,cAAc,CAAiB;IAEpC,MAAMC,WAAWF,gBAAgB,MAAM,CAACG,CAAAA;QACpC,IAAIJ,MAAM,GAAG,IAAI,CAACK,OAAOD,SAASJ,MAAM,GAAG,GACvC,OAAO;QAGX,OAAO;IACX;IAEA,IAAIG,AAAoB,MAApBA,SAAS,MAAM,EACf,MAAM,IAAIG;AAElB;AAEA,MAAMD,SAAS,CAACE,aAAgDC;IAC5D,IAAI,CAACC,MAAM,OAAO,CAACF,cACfA,cAAc;QAACA;KAAY;IAG/B,IAAI,CAACC,KACD,OAAO;IAIX,MAAME,mCAAmCH,YAAY,IAAI,CAACI,CAAAA,aAC/C,AAA0B,YAA1B,OAAOA,WAAW,GAAG;IAGhC,IAAID,kCACA,OAAO;IAIX,OAAOH,YAAY,IAAI,CAACI,CAAAA,aACbA,WAAW,GAAG,IAAIA,WAAW,GAAG,CAAC,QAAQ,CAACH;AAEzD"}
@@ -0,0 +1,9 @@
1
+ import { ErrorResponse, ListErrorResponse, ListResponse, Response } from "@webiny/api-graphql";
2
+ import type { CmsEntryMeta } from "@webiny/api-headless-cms/types/index.js";
3
+ export declare const emptyResolver: () => {};
4
+ interface ResolveCallable<T = any> {
5
+ (): Promise<T>;
6
+ }
7
+ export declare const resolve: <T = any>(fn: ResolveCallable<T>) => Promise<ErrorResponse | Response<Awaited<T>>>;
8
+ export declare const resolveList: (fn: ResolveCallable) => Promise<ListErrorResponse | ListResponse<any, CmsEntryMeta>>;
9
+ export {};
@@ -0,0 +1,20 @@
1
+ import { ErrorResponse, ListErrorResponse, ListResponse, Response } from "@webiny/api-graphql";
2
+ const emptyResolver = ()=>({});
3
+ const resolve = async (fn)=>{
4
+ try {
5
+ return new Response(await fn());
6
+ } catch (ex) {
7
+ return new ErrorResponse(ex);
8
+ }
9
+ };
10
+ const resolveList = async (fn)=>{
11
+ try {
12
+ const result = await fn();
13
+ return new ListResponse(result.items, result.meta);
14
+ } catch (ex) {
15
+ return new ListErrorResponse(ex);
16
+ }
17
+ };
18
+ export { emptyResolver, resolve, resolveList };
19
+
20
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/graphql/utils.js","sources":["../../../src/api/graphql/utils.ts"],"sourcesContent":["import { ErrorResponse, ListErrorResponse, ListResponse, Response } from \"@webiny/api-graphql\";\nimport type { CmsEntryMeta } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport const emptyResolver = () => ({});\n\ninterface ResolveCallable<T = any> {\n (): Promise<T>;\n}\n\nexport const resolve = async <T = any>(fn: ResolveCallable<T>) => {\n try {\n return new Response(await fn());\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n};\n\ninterface IListResult {\n items: any[];\n meta: CmsEntryMeta;\n}\n\nexport const resolveList = async (fn: ResolveCallable) => {\n try {\n const result = (await fn()) as IListResult;\n return new ListResponse(result.items, result.meta);\n } catch (ex) {\n return new ListErrorResponse(ex);\n }\n};\n"],"names":["emptyResolver","resolve","fn","Response","ex","ErrorResponse","resolveList","result","ListResponse","ListErrorResponse"],"mappings":";AAGO,MAAMA,gBAAgB,IAAO,EAAC;AAM9B,MAAMC,UAAU,OAAgBC;IACnC,IAAI;QACA,OAAO,IAAIC,SAAS,MAAMD;IAC9B,EAAE,OAAOE,IAAI;QACT,OAAO,IAAIC,cAAcD;IAC7B;AACJ;AAOO,MAAME,cAAc,OAAOJ;IAC9B,IAAI;QACA,MAAMK,SAAU,MAAML;QACtB,OAAO,IAAIM,aAAaD,OAAO,KAAK,EAAEA,OAAO,IAAI;IACrD,EAAE,OAAOH,IAAI;QACT,OAAO,IAAIK,kBAAkBL;IACjC;AACJ"}
@@ -0,0 +1,21 @@
1
+ export interface IIncomingEvent<TEvent> {
2
+ name: string;
3
+ payload: TEvent;
4
+ }
5
+ export interface ITaskEventInput {
6
+ tenant: string;
7
+ webinyTaskId: string;
8
+ webinyTaskDefinitionId: string;
9
+ delay?: number;
10
+ }
11
+ export interface ITaskEvent {
12
+ tenant: string;
13
+ endpoint: string;
14
+ webinyTaskId: string;
15
+ webinyTaskDefinitionId: string;
16
+ executionName: string;
17
+ stateMachineId: string;
18
+ }
19
+ export interface ITaskRawEvent extends ITaskEvent {
20
+ delay?: number;
21
+ }
File without changes
package/api/index.d.ts CHANGED
@@ -0,0 +1,21 @@
1
+ export type { Timer } from "./abstractions/Timer.js";
2
+ export { TaskService } from "./domain/TaskService.js";
3
+ export * from "./response/index.js";
4
+ export * from "./types.js";
5
+ export { BackgroundTasksFeature } from "./BackgroundTasksFeature.js";
6
+ export { BackgroundTasksGraphQLSchema } from "./graphql/BackgroundTasksGraphQLSchema.js";
7
+ export { TriggerTaskUseCase } from "./features/TriggerTask/abstractions.js";
8
+ export { AbortTaskUseCase } from "./features/AbortTask/abstractions.js";
9
+ export { GetTaskUseCase } from "./features/GetTask/abstractions.js";
10
+ export { ListTasksUseCase } from "./features/ListTasks/abstractions.js";
11
+ export { CreateTaskUseCase } from "./features/CreateTask/abstractions.js";
12
+ export { UpdateTaskUseCase } from "./features/UpdateTask/abstractions.js";
13
+ export { DeleteTaskUseCase } from "./features/DeleteTask/abstractions.js";
14
+ export { CreateTaskLogUseCase } from "./features/CreateTaskLog/abstractions.js";
15
+ export { UpdateTaskLogUseCase } from "./features/UpdateTaskLog/abstractions.js";
16
+ export { DeleteTaskLogUseCase } from "./features/DeleteTaskLog/abstractions.js";
17
+ export { GetLatestTaskLogUseCase } from "./features/GetLatestTaskLog/abstractions.js";
18
+ export { ListTaskLogsUseCase } from "./features/ListTaskLogs/abstractions.js";
19
+ export { GetRunnableTaskDefinitionUseCase } from "./features/GetRunnableTaskDefinition/abstractions.js";
20
+ export { TaskNotFoundError } from "./domain/errors.js";
21
+ export { CleanupTaskSubtreeUseCase } from "./features/CleanupTaskSubtree/abstractions.js";