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

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 (387) hide show
  1. package/admin/BackgroundTaskRoutes.js +20 -13
  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/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.d.ts +12 -0
  20. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js +43 -0
  21. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js.map +1 -0
  22. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +11 -0
  23. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +18 -0
  24. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  25. package/admin/features/updateBackgroundTaskSettings/abstractions.d.ts +18 -0
  26. package/admin/features/updateBackgroundTaskSettings/abstractions.js +6 -0
  27. package/admin/features/updateBackgroundTaskSettings/abstractions.js.map +1 -0
  28. package/admin/features/updateBackgroundTaskSettings/feature.d.ts +3 -0
  29. package/admin/features/updateBackgroundTaskSettings/feature.js +19 -0
  30. package/admin/features/updateBackgroundTaskSettings/feature.js.map +1 -0
  31. package/admin/features/updateBackgroundTaskSettings/index.d.ts +3 -0
  32. package/admin/features/updateBackgroundTaskSettings/index.js +2 -0
  33. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.d.ts +21 -0
  34. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js +86 -0
  35. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js.map +1 -0
  36. package/admin/presentation/BackgroundTaskSettings/abstractions.d.ts +16 -0
  37. package/admin/presentation/BackgroundTaskSettings/abstractions.js +5 -0
  38. package/admin/presentation/BackgroundTaskSettings/abstractions.js.map +1 -0
  39. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.d.ts +2 -0
  40. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js +56 -0
  41. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js.map +1 -0
  42. package/admin/presentation/BackgroundTaskSettings/feature.d.ts +3 -0
  43. package/admin/presentation/BackgroundTaskSettings/feature.js +17 -0
  44. package/admin/presentation/BackgroundTaskSettings/feature.js.map +1 -0
  45. package/admin/presentation/BackgroundTaskSettings/index.d.ts +2 -0
  46. package/admin/presentation/BackgroundTaskSettings/index.js +2 -0
  47. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js +2 -1
  48. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js.map +1 -1
  49. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.d.ts +2 -0
  50. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js +16 -0
  51. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js.map +1 -0
  52. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.d.ts +2 -0
  53. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js +3 -1
  54. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js.map +1 -1
  55. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.d.ts +2 -0
  56. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js +16 -0
  57. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js.map +1 -0
  58. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js +53 -35
  59. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js.map +1 -1
  60. package/admin/routes.d.ts +1 -0
  61. package/admin/routes.js +4 -0
  62. package/admin/routes.js.map +1 -1
  63. package/admin/shared/types.d.ts +3 -0
  64. package/api/context.d.ts +2 -0
  65. package/api/context.js +66 -0
  66. package/api/context.js.map +1 -0
  67. package/api/crud/TaskLogPrivateModel.d.ts +9 -0
  68. package/api/crud/TaskLogPrivateModel.js +40 -0
  69. package/api/crud/TaskLogPrivateModel.js.map +1 -0
  70. package/api/crud/TaskPrivateModel.d.ts +9 -0
  71. package/api/crud/TaskPrivateModel.js +55 -0
  72. package/api/crud/TaskPrivateModel.js.map +1 -0
  73. package/api/crud/cleanupTaskSubtree.d.ts +8 -0
  74. package/api/crud/cleanupTaskSubtree.js +62 -0
  75. package/api/crud/cleanupTaskSubtree.js.map +1 -0
  76. package/api/crud/crud.tasks.d.ts +2 -0
  77. package/api/crud/crud.tasks.js +318 -0
  78. package/api/crud/crud.tasks.js.map +1 -0
  79. package/api/crud/definition.tasks.d.ts +2 -0
  80. package/api/crud/definition.tasks.js +17 -0
  81. package/api/crud/definition.tasks.js.map +1 -0
  82. package/api/crud/service.tasks.d.ts +2 -0
  83. package/api/crud/service.tasks.js +130 -0
  84. package/api/crud/service.tasks.js.map +1 -0
  85. package/api/decorators/RunnableTaskDecorator.d.ts +32 -0
  86. package/api/decorators/RunnableTaskDecorator.js +69 -0
  87. package/api/decorators/RunnableTaskDecorator.js.map +1 -0
  88. package/api/decorators/SelfCleaningTaskDecorator.d.ts +30 -0
  89. package/api/decorators/SelfCleaningTaskDecorator.js +84 -0
  90. package/api/decorators/SelfCleaningTaskDecorator.js.map +1 -0
  91. package/api/domain/BackgroundTaskSettings.d.ts +3 -0
  92. package/api/domain/BackgroundTaskSettings.js +0 -0
  93. package/api/domain/constants.d.ts +3 -0
  94. package/api/domain/constants.js +6 -0
  95. package/api/domain/constants.js.map +1 -0
  96. package/api/domain/errors.d.ts +57 -0
  97. package/api/domain/errors.js +101 -0
  98. package/api/domain/errors.js.map +1 -0
  99. package/api/events/TaskAfterCreateEvent.d.ts +6 -0
  100. package/api/events/TaskAfterCreateEvent.js +13 -0
  101. package/api/events/TaskAfterCreateEvent.js.map +1 -0
  102. package/api/events/TaskAfterDeleteEvent.d.ts +6 -0
  103. package/api/events/TaskAfterDeleteEvent.js +13 -0
  104. package/api/events/TaskAfterDeleteEvent.js.map +1 -0
  105. package/api/events/TaskAfterUpdateEvent.d.ts +6 -0
  106. package/api/events/TaskAfterUpdateEvent.js +13 -0
  107. package/api/events/TaskAfterUpdateEvent.js.map +1 -0
  108. package/api/events/TaskBeforeCreateEvent.d.ts +6 -0
  109. package/api/events/TaskBeforeCreateEvent.js +13 -0
  110. package/api/events/TaskBeforeCreateEvent.js.map +1 -0
  111. package/api/events/TaskBeforeDeleteEvent.d.ts +6 -0
  112. package/api/events/TaskBeforeDeleteEvent.js +13 -0
  113. package/api/events/TaskBeforeDeleteEvent.js.map +1 -0
  114. package/api/events/TaskBeforeUpdateEvent.d.ts +6 -0
  115. package/api/events/TaskBeforeUpdateEvent.js +13 -0
  116. package/api/events/TaskBeforeUpdateEvent.js.map +1 -0
  117. package/api/events/abstractions.d.ts +53 -0
  118. package/api/events/abstractions.js +10 -0
  119. package/api/events/abstractions.js.map +1 -0
  120. package/api/events/index.d.ts +7 -0
  121. package/api/events/index.js +7 -0
  122. package/api/features/AbortTask/AbortTaskUseCase.d.ts +10 -0
  123. package/api/features/AbortTask/AbortTaskUseCase.js +12 -0
  124. package/api/features/AbortTask/AbortTaskUseCase.js.map +1 -0
  125. package/api/features/AbortTask/abstractions.d.ts +25 -0
  126. package/api/features/AbortTask/abstractions.js +5 -0
  127. package/api/features/AbortTask/abstractions.js.map +1 -0
  128. package/api/features/AbortTask/feature.d.ts +5 -0
  129. package/api/features/AbortTask/feature.js +12 -0
  130. package/api/features/AbortTask/feature.js.map +1 -0
  131. package/api/features/AbortTask/index.d.ts +2 -0
  132. package/api/features/AbortTask/index.js +2 -0
  133. package/api/features/BackgroundTaskPermissions/abstractions.d.ts +17 -0
  134. package/api/features/BackgroundTaskPermissions/abstractions.js +6 -0
  135. package/api/features/BackgroundTaskPermissions/abstractions.js.map +1 -0
  136. package/api/features/BackgroundTaskPermissions/feature.d.ts +4 -0
  137. package/api/features/BackgroundTaskPermissions/feature.js +7 -0
  138. package/api/features/BackgroundTaskPermissions/feature.js.map +1 -0
  139. package/api/features/BackgroundTaskPermissions/index.d.ts +2 -0
  140. package/api/features/BackgroundTaskPermissions/index.js +2 -0
  141. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.d.ts +7 -0
  142. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js +11 -0
  143. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js.map +1 -0
  144. package/api/features/CleanupTaskSubtree/abstractions.d.ts +7 -0
  145. package/api/features/CleanupTaskSubtree/abstractions.js +5 -0
  146. package/api/features/CleanupTaskSubtree/abstractions.js.map +1 -0
  147. package/api/features/CleanupTaskSubtree/index.d.ts +2 -0
  148. package/api/features/CleanupTaskSubtree/index.js +2 -0
  149. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.d.ts +21 -0
  150. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js +60 -0
  151. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js.map +1 -0
  152. package/api/features/GetBackgroundTaskSettings/abstractions.d.ts +13 -0
  153. package/api/features/GetBackgroundTaskSettings/abstractions.js +5 -0
  154. package/api/features/GetBackgroundTaskSettings/abstractions.js.map +1 -0
  155. package/api/features/GetBackgroundTaskSettings/feature.d.ts +4 -0
  156. package/api/features/GetBackgroundTaskSettings/feature.js +11 -0
  157. package/api/features/GetBackgroundTaskSettings/feature.js.map +1 -0
  158. package/api/features/GetBackgroundTaskSettings/index.d.ts +2 -0
  159. package/api/features/GetBackgroundTaskSettings/index.js +2 -0
  160. package/api/features/GetTask/GetTaskUseCase.d.ts +9 -0
  161. package/api/features/GetTask/GetTaskUseCase.js +11 -0
  162. package/api/features/GetTask/GetTaskUseCase.js.map +1 -0
  163. package/api/features/GetTask/abstractions.d.ts +10 -0
  164. package/api/features/GetTask/abstractions.js +5 -0
  165. package/api/features/GetTask/abstractions.js.map +1 -0
  166. package/api/features/GetTask/feature.d.ts +5 -0
  167. package/api/features/GetTask/feature.js +12 -0
  168. package/api/features/GetTask/feature.js.map +1 -0
  169. package/api/features/GetTask/index.d.ts +2 -0
  170. package/api/features/GetTask/index.js +2 -0
  171. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.d.ts +12 -0
  172. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.js +27 -0
  173. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.js.map +1 -0
  174. package/api/features/GetTaskDefinition/abstractions.d.ts +17 -0
  175. package/api/features/GetTaskDefinition/abstractions.js +5 -0
  176. package/api/features/GetTaskDefinition/abstractions.js.map +1 -0
  177. package/api/features/GetTaskDefinition/feature.d.ts +4 -0
  178. package/api/features/GetTaskDefinition/feature.js +11 -0
  179. package/api/features/GetTaskDefinition/feature.js.map +1 -0
  180. package/api/features/GetTaskDefinition/index.d.ts +2 -0
  181. package/api/features/GetTaskDefinition/index.js +2 -0
  182. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.d.ts +11 -0
  183. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js +24 -0
  184. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js.map +1 -0
  185. package/api/features/ListTaskDefinitions/abstractions.d.ts +9 -0
  186. package/api/features/ListTaskDefinitions/abstractions.js +5 -0
  187. package/api/features/ListTaskDefinitions/abstractions.js.map +1 -0
  188. package/api/features/ListTaskDefinitions/feature.d.ts +4 -0
  189. package/api/features/ListTaskDefinitions/feature.js +11 -0
  190. package/api/features/ListTaskDefinitions/feature.js.map +1 -0
  191. package/api/features/ListTaskDefinitions/index.d.ts +2 -0
  192. package/api/features/ListTaskDefinitions/index.js +2 -0
  193. package/api/features/ListTasks/ListTasksUseCase.d.ts +9 -0
  194. package/api/features/ListTasks/ListTasksUseCase.js +11 -0
  195. package/api/features/ListTasks/ListTasksUseCase.js.map +1 -0
  196. package/api/features/ListTasks/abstractions.d.ts +13 -0
  197. package/api/features/ListTasks/abstractions.js +5 -0
  198. package/api/features/ListTasks/abstractions.js.map +1 -0
  199. package/api/features/ListTasks/feature.d.ts +5 -0
  200. package/api/features/ListTasks/feature.js +12 -0
  201. package/api/features/ListTasks/feature.js.map +1 -0
  202. package/api/features/ListTasks/index.d.ts +2 -0
  203. package/api/features/ListTasks/index.js +2 -0
  204. package/api/features/TaskController/TaskController.d.ts +49 -0
  205. package/api/features/TaskController/TaskController.js +71 -0
  206. package/api/features/TaskController/TaskController.js.map +1 -0
  207. package/api/features/TaskController/augmentation.d.ts +60 -0
  208. package/api/features/TaskController/augmentation.js +0 -0
  209. package/api/features/TaskController/index.d.ts +2 -0
  210. package/api/features/TaskController/index.js +2 -0
  211. package/api/features/TaskExecutionContext/TaskExecutionContext.d.ts +24 -0
  212. package/api/features/TaskExecutionContext/TaskExecutionContext.js +43 -0
  213. package/api/features/TaskExecutionContext/TaskExecutionContext.js.map +1 -0
  214. package/api/features/TaskExecutionContext/abstractions.d.ts +26 -0
  215. package/api/features/TaskExecutionContext/abstractions.js +5 -0
  216. package/api/features/TaskExecutionContext/abstractions.js.map +1 -0
  217. package/api/features/TaskExecutionContext/feature.d.ts +4 -0
  218. package/api/features/TaskExecutionContext/feature.js +11 -0
  219. package/api/features/TaskExecutionContext/feature.js.map +1 -0
  220. package/api/features/TaskExecutionContext/index.d.ts +1 -0
  221. package/api/features/TaskExecutionContext/index.js +1 -0
  222. package/api/features/TriggerTask/TriggerTaskUseCase.d.ts +10 -0
  223. package/api/features/TriggerTask/TriggerTaskUseCase.js +12 -0
  224. package/api/features/TriggerTask/TriggerTaskUseCase.js.map +1 -0
  225. package/api/features/TriggerTask/abstractions.d.ts +28 -0
  226. package/api/features/TriggerTask/abstractions.js +5 -0
  227. package/api/features/TriggerTask/abstractions.js.map +1 -0
  228. package/api/features/TriggerTask/feature.d.ts +5 -0
  229. package/api/features/TriggerTask/feature.js +12 -0
  230. package/api/features/TriggerTask/feature.js.map +1 -0
  231. package/api/features/TriggerTask/index.d.ts +2 -0
  232. package/api/features/TriggerTask/index.js +2 -0
  233. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.d.ts +23 -0
  234. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js +64 -0
  235. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js.map +1 -0
  236. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +14 -0
  237. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +27 -0
  238. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  239. package/api/features/UpdateBackgroundTaskSettings/abstractions.d.ts +26 -0
  240. package/api/features/UpdateBackgroundTaskSettings/abstractions.js +6 -0
  241. package/api/features/UpdateBackgroundTaskSettings/abstractions.js.map +1 -0
  242. package/api/features/UpdateBackgroundTaskSettings/feature.d.ts +4 -0
  243. package/api/features/UpdateBackgroundTaskSettings/feature.js +13 -0
  244. package/api/features/UpdateBackgroundTaskSettings/feature.js.map +1 -0
  245. package/api/features/UpdateBackgroundTaskSettings/index.d.ts +2 -0
  246. package/api/features/UpdateBackgroundTaskSettings/index.js +2 -0
  247. package/api/features/UpdateBackgroundTaskSettings/schema.d.ts +4 -0
  248. package/api/features/UpdateBackgroundTaskSettings/schema.js +8 -0
  249. package/api/features/UpdateBackgroundTaskSettings/schema.js.map +1 -0
  250. package/api/global.d.ts +1 -0
  251. package/api/global.js +1 -0
  252. package/api/graphql/BackgroundTaskSettingsSchema.d.ts +2 -0
  253. package/api/graphql/BackgroundTaskSettingsSchema.js +84 -0
  254. package/api/graphql/BackgroundTaskSettingsSchema.js.map +1 -0
  255. package/api/graphql/checkPermissions.d.ts +7 -0
  256. package/api/graphql/checkPermissions.js +21 -0
  257. package/api/graphql/checkPermissions.js.map +1 -0
  258. package/api/graphql/index.d.ts +2 -0
  259. package/api/graphql/index.js +302 -0
  260. package/api/graphql/index.js.map +1 -0
  261. package/api/graphql/utils.d.ts +9 -0
  262. package/api/graphql/utils.js +20 -0
  263. package/api/graphql/utils.js.map +1 -0
  264. package/api/handler/index.d.ts +6 -0
  265. package/api/handler/index.js +55 -0
  266. package/api/handler/index.js.map +1 -0
  267. package/api/handler/register.d.ts +1 -0
  268. package/api/handler/register.js +15 -0
  269. package/api/handler/register.js.map +1 -0
  270. package/api/handler/types.d.ts +23 -0
  271. package/api/handler/types.js +0 -0
  272. package/api/index.d.ts +5 -0
  273. package/api/index.js +5 -0
  274. package/api/models/BackgroundTaskSettingsModel.d.ts +8 -0
  275. package/api/models/BackgroundTaskSettingsModel.js +27 -0
  276. package/api/models/BackgroundTaskSettingsModel.js.map +1 -0
  277. package/api/permissions.d.ts +12 -0
  278. package/api/permissions.js +22 -0
  279. package/api/permissions.js.map +1 -0
  280. package/api/plugins/TaskServicePlugin.d.ts +19 -0
  281. package/api/plugins/TaskServicePlugin.js +13 -0
  282. package/api/plugins/TaskServicePlugin.js.map +1 -0
  283. package/api/plugins/index.d.ts +1 -0
  284. package/api/plugins/index.js +1 -0
  285. package/api/response/DatabaseResponse.d.ts +12 -0
  286. package/api/response/DatabaseResponse.js +127 -0
  287. package/api/response/DatabaseResponse.js.map +1 -0
  288. package/api/response/Response.d.ts +14 -0
  289. package/api/response/Response.js +91 -0
  290. package/api/response/Response.js.map +1 -0
  291. package/api/response/ResponseAbortedResult.d.ts +9 -0
  292. package/api/response/ResponseAbortedResult.js +12 -0
  293. package/api/response/ResponseAbortedResult.js.map +1 -0
  294. package/api/response/ResponseContinueResult.d.ts +17 -0
  295. package/api/response/ResponseContinueResult.js +16 -0
  296. package/api/response/ResponseContinueResult.js.map +1 -0
  297. package/api/response/ResponseDoneResult.d.ts +11 -0
  298. package/api/response/ResponseDoneResult.js +14 -0
  299. package/api/response/ResponseDoneResult.js.map +1 -0
  300. package/api/response/ResponseErrorResult.d.ts +10 -0
  301. package/api/response/ResponseErrorResult.js +13 -0
  302. package/api/response/ResponseErrorResult.js.map +1 -0
  303. package/api/response/TaskResponse.d.ts +12 -0
  304. package/api/response/TaskResponse.js +53 -0
  305. package/api/response/TaskResponse.js.map +1 -0
  306. package/api/response/abstractions/Response.d.ts +25 -0
  307. package/api/response/abstractions/Response.js +0 -0
  308. package/api/response/abstractions/ResponseAbortedResult.d.ts +5 -0
  309. package/api/response/abstractions/ResponseAbortedResult.js +0 -0
  310. package/api/response/abstractions/ResponseBaseResult.d.ts +7 -0
  311. package/api/response/abstractions/ResponseBaseResult.js +0 -0
  312. package/api/response/abstractions/ResponseContinueResult.d.ts +21 -0
  313. package/api/response/abstractions/ResponseContinueResult.js +0 -0
  314. package/api/response/abstractions/ResponseDoneResult.d.ts +13 -0
  315. package/api/response/abstractions/ResponseDoneResult.js +0 -0
  316. package/api/response/abstractions/ResponseErrorResult.d.ts +18 -0
  317. package/api/response/abstractions/ResponseErrorResult.js +0 -0
  318. package/api/response/abstractions/TaskResponse.d.ts +16 -0
  319. package/api/response/abstractions/TaskResponse.js +0 -0
  320. package/api/response/abstractions/index.d.ts +7 -0
  321. package/api/response/abstractions/index.js +7 -0
  322. package/api/response/index.d.ts +7 -0
  323. package/api/response/index.js +7 -0
  324. package/api/runner/TaskControl.d.ts +14 -0
  325. package/api/runner/TaskControl.js +173 -0
  326. package/api/runner/TaskControl.js.map +1 -0
  327. package/api/runner/TaskEventValidation.d.ts +5 -0
  328. package/api/runner/TaskEventValidation.js +20 -0
  329. package/api/runner/TaskEventValidation.js.map +1 -0
  330. package/api/runner/TaskManager.d.ts +11 -0
  331. package/api/runner/TaskManager.js +81 -0
  332. package/api/runner/TaskManager.js.map +1 -0
  333. package/api/runner/TaskManagerStore.d.ts +40 -0
  334. package/api/runner/TaskManagerStore.js +109 -0
  335. package/api/runner/TaskManagerStore.js.map +1 -0
  336. package/api/runner/TaskRunner.d.ts +25 -0
  337. package/api/runner/TaskRunner.js +55 -0
  338. package/api/runner/TaskRunner.js.map +1 -0
  339. package/api/runner/abstractions/TaskControl.d.ts +10 -0
  340. package/api/runner/abstractions/TaskControl.js +0 -0
  341. package/api/runner/abstractions/TaskEventValidation.d.ts +5 -0
  342. package/api/runner/abstractions/TaskEventValidation.js +0 -0
  343. package/api/runner/abstractions/TaskManager.d.ts +5 -0
  344. package/api/runner/abstractions/TaskManager.js +0 -0
  345. package/api/runner/abstractions/TaskManagerStore.d.ts +92 -0
  346. package/api/runner/abstractions/TaskManagerStore.js +0 -0
  347. package/api/runner/abstractions/TaskRunner.d.ts +13 -0
  348. package/api/runner/abstractions/TaskRunner.js +0 -0
  349. package/api/runner/abstractions/index.d.ts +5 -0
  350. package/api/runner/abstractions/index.js +5 -0
  351. package/api/runner/index.d.ts +1 -0
  352. package/api/runner/index.js +1 -0
  353. package/api/service/EventBridgeEventTransportPlugin.d.ts +16 -0
  354. package/api/service/EventBridgeEventTransportPlugin.js +52 -0
  355. package/api/service/EventBridgeEventTransportPlugin.js.map +1 -0
  356. package/api/service/StepFunctionServicePlugin.d.ts +25 -0
  357. package/api/service/StepFunctionServicePlugin.js +77 -0
  358. package/api/service/StepFunctionServicePlugin.js.map +1 -0
  359. package/api/service/createService.d.ts +6 -0
  360. package/api/service/createService.js +16 -0
  361. package/api/service/createService.js.map +1 -0
  362. package/api/service/index.d.ts +4 -0
  363. package/api/service/index.js +12 -0
  364. package/api/service/index.js.map +1 -0
  365. package/api/tasks/testingRunTask.d.ts +11 -0
  366. package/api/tasks/testingRunTask.js +18 -0
  367. package/api/tasks/testingRunTask.js.map +1 -0
  368. package/api/types.d.ts +167 -0
  369. package/api/types.js +20 -0
  370. package/api/types.js.map +1 -0
  371. package/api/utils/ObjectUpdater.d.ts +8 -0
  372. package/api/utils/ObjectUpdater.js +33 -0
  373. package/api/utils/ObjectUpdater.js.map +1 -0
  374. package/api/utils/getErrorProperties.d.ts +2 -0
  375. package/api/utils/getErrorProperties.js +9 -0
  376. package/api/utils/getErrorProperties.js.map +1 -0
  377. package/api/utils/getObjectProperties.d.ts +8 -0
  378. package/api/utils/getObjectProperties.js +11 -0
  379. package/api/utils/getObjectProperties.js.map +1 -0
  380. package/api/utils/index.d.ts +3 -0
  381. package/api/utils/index.js +3 -0
  382. package/api/utils/normalizeSelfCleanup.d.ts +2 -0
  383. package/api/utils/normalizeSelfCleanup.js +16 -0
  384. package/api/utils/normalizeSelfCleanup.js.map +1 -0
  385. package/index.d.ts +1 -0
  386. package/index.js +1 -0
  387. package/package.json +29 -12
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js","sources":["../../../../src/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.ts"],"sourcesContent":["import { computed, makeAutoObservable, runInAction } from \"mobx\";\nimport {\n BackgroundTaskSettingsPresenter as Abstraction,\n type IBackgroundTaskSettingsPresenter,\n type IBackgroundTaskSettingsViewModel\n} from \"./abstractions.js\";\nimport { GetBackgroundTaskSettingsUseCase } from \"~/admin/features/getBackgroundTaskSettings/abstractions.js\";\nimport { UpdateBackgroundTaskSettingsUseCase } from \"~/admin/features/updateBackgroundTaskSettings/abstractions.js\";\nimport {\n FormModelFactory,\n type IFormModel\n} from \"@webiny/app-admin/features/formModel/abstractions.js\";\nimport { BACKGROUND_TASK_MAX_RETENTION_DAYS } from \"~/api/domain/constants.js\";\n\nclass BackgroundTaskSettingsPresenterImpl implements IBackgroundTaskSettingsPresenter {\n private _loading = false;\n private _saving = false;\n private _form: IFormModel;\n\n public get vm(): IBackgroundTaskSettingsViewModel {\n return {\n loading: this._loading,\n saving: this._saving,\n form: this._form.vm\n };\n }\n\n public constructor(\n private readonly formModelFactory: FormModelFactory.Interface,\n private readonly getSettingsUseCase: GetBackgroundTaskSettingsUseCase.Interface,\n private readonly updateSettingsUseCase: UpdateBackgroundTaskSettingsUseCase.Interface\n ) {\n this._form = this.buildForm();\n\n makeAutoObservable(this, { vm: computed });\n }\n\n private buildForm(): IFormModel {\n return this.formModelFactory.create({\n fields: fields => ({\n retentionDays: fields\n .number()\n .label(\"Retention (days)\")\n .placeholder(\"90\")\n .description(\n `How long to keep completed task runs. 0 = never delete. Max ${BACKGROUND_TASK_MAX_RETENTION_DAYS} days. Changing this value only affects future task executions; existing records are not retroactively deleted.`\n )\n }),\n layout: layout => [layout.row(\"retentionDays\")]\n });\n }\n\n public async save(): Promise<boolean> {\n const data = await this._form.submit<Record<string, string>>();\n if (data === false) {\n return false;\n }\n\n runInAction(() => {\n this._saving = true;\n });\n\n try {\n const settings = await this.updateSettingsUseCase.execute({\n retentionDays: data.retentionDays != null ? Number(data.retentionDays) : undefined\n });\n\n runInAction(() => {\n this._form.setData({\n retentionDays: settings.retentionDays ?? \"\"\n });\n });\n } finally {\n runInAction(() => {\n this._saving = false;\n });\n }\n return true;\n }\n\n public async init(): Promise<void> {\n this._loading = true;\n\n try {\n const settings = await this.getSettingsUseCase.execute();\n\n runInAction(() => {\n this._form = this.buildForm();\n this._form.setData({\n retentionDays: settings.retentionDays ?? \"\"\n });\n this._loading = false;\n });\n } catch {\n runInAction(() => {\n this._loading = false;\n });\n }\n }\n}\n\nexport const BackgroundTaskSettingsPresenter = Abstraction.createImplementation({\n implementation: BackgroundTaskSettingsPresenterImpl,\n dependencies: [\n FormModelFactory,\n GetBackgroundTaskSettingsUseCase,\n UpdateBackgroundTaskSettingsUseCase\n ]\n});\n"],"names":["BackgroundTaskSettingsPresenterImpl","formModelFactory","getSettingsUseCase","updateSettingsUseCase","makeAutoObservable","computed","fields","BACKGROUND_TASK_MAX_RETENTION_DAYS","layout","data","runInAction","settings","Number","undefined","BackgroundTaskSettingsPresenter","Abstraction","FormModelFactory","GetBackgroundTaskSettingsUseCase","UpdateBackgroundTaskSettingsUseCase"],"mappings":";;;;;;AAcA,MAAMA;IAKF,IAAW,KAAuC;QAC9C,OAAO;YACH,SAAS,IAAI,CAAC,QAAQ;YACtB,QAAQ,IAAI,CAAC,OAAO;YACpB,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE;QACvB;IACJ;IAEA,YACqBC,gBAA4C,EAC5CC,kBAA8D,EAC9DC,qBAAoE,CACvF;aAHmBF,gBAAgB,GAAhBA;aACAC,kBAAkB,GAAlBA;aACAC,qBAAqB,GAArBA;aAfb,QAAQ,GAAG;aACX,OAAO,GAAG;QAgBd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS;QAE3BC,mBAAmB,IAAI,EAAE;YAAE,IAAIC;QAAS;IAC5C;IAEQ,YAAwB;QAC5B,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAChC,QAAQC,CAAAA,SAAW;oBACf,eAAeA,OACV,MAAM,GACN,KAAK,CAAC,oBACN,WAAW,CAAC,MACZ,WAAW,CACR,CAAC,4DAA4D,EAAEC,mCAAmC,+GAA+G,CAAC;gBAE9N;YACA,QAAQC,CAAAA,SAAU;oBAACA,OAAO,GAAG,CAAC;iBAAiB;QACnD;IACJ;IAEA,MAAa,OAAyB;QAClC,MAAMC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM;QACpC,IAAIA,AAAS,UAATA,MACA,OAAO;QAGXC,YAAY;YACR,IAAI,CAAC,OAAO,GAAG;QACnB;QAEA,IAAI;YACA,MAAMC,WAAW,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;gBACtD,eAAeF,AAAsB,QAAtBA,KAAK,aAAa,GAAWG,OAAOH,KAAK,aAAa,IAAII;YAC7E;YAEAH,YAAY;gBACR,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;oBACf,eAAeC,SAAS,aAAa,IAAI;gBAC7C;YACJ;QACJ,SAAU;YACND,YAAY;gBACR,IAAI,CAAC,OAAO,GAAG;YACnB;QACJ;QACA,OAAO;IACX;IAEA,MAAa,OAAsB;QAC/B,IAAI,CAAC,QAAQ,GAAG;QAEhB,IAAI;YACA,MAAMC,WAAW,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO;YAEtDD,YAAY;gBACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS;gBAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;oBACf,eAAeC,SAAS,aAAa,IAAI;gBAC7C;gBACA,IAAI,CAAC,QAAQ,GAAG;YACpB;QACJ,EAAE,OAAM;YACJD,YAAY;gBACR,IAAI,CAAC,QAAQ,GAAG;YACpB;QACJ;IACJ;AACJ;AAEO,MAAMI,kEAAkCC,gCAAAA,oBAAgC,CAAC;IAC5E,gBAAgBf;IAChB,cAAc;QACVgB;QACAC;QACAC;KACH;AACL"}
@@ -0,0 +1,16 @@
1
+ import type { IFormVM } from "@webiny/app-admin/features/formModel/abstractions.js";
2
+ export interface IBackgroundTaskSettingsViewModel {
3
+ loading: boolean;
4
+ saving: boolean;
5
+ form: IFormVM;
6
+ }
7
+ export interface IBackgroundTaskSettingsPresenter {
8
+ vm: IBackgroundTaskSettingsViewModel;
9
+ save(): Promise<boolean>;
10
+ init(): void;
11
+ }
12
+ export declare const BackgroundTaskSettingsPresenter: import("@webiny/di").Abstraction<IBackgroundTaskSettingsPresenter>;
13
+ export declare namespace BackgroundTaskSettingsPresenter {
14
+ type Interface = IBackgroundTaskSettingsPresenter;
15
+ type ViewModel = IBackgroundTaskSettingsViewModel;
16
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/admin";
2
+ const BackgroundTaskSettingsPresenter = createAbstraction("BackgroundTaskSettingsPresenter");
3
+ export { BackgroundTaskSettingsPresenter };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/BackgroundTaskSettings/abstractions.js","sources":["../../../../src/admin/presentation/BackgroundTaskSettings/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { IFormVM } from \"@webiny/app-admin/features/formModel/abstractions.js\";\n\nexport interface IBackgroundTaskSettingsViewModel {\n loading: boolean;\n saving: boolean;\n form: IFormVM;\n}\n\nexport interface IBackgroundTaskSettingsPresenter {\n vm: IBackgroundTaskSettingsViewModel;\n save(): Promise<boolean>;\n init(): void;\n}\n\nexport const BackgroundTaskSettingsPresenter = createAbstraction<IBackgroundTaskSettingsPresenter>(\n \"BackgroundTaskSettingsPresenter\"\n);\n\nexport namespace BackgroundTaskSettingsPresenter {\n export type Interface = IBackgroundTaskSettingsPresenter;\n export type ViewModel = IBackgroundTaskSettingsViewModel;\n}\n"],"names":["BackgroundTaskSettingsPresenter","createAbstraction"],"mappings":";AAeO,MAAMA,kCAAkCC,kBAC3C"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const BackgroundTaskSettingsView: () => React.JSX.Element;
@@ -0,0 +1,56 @@
1
+ import react, { useEffect, useMemo } from "react";
2
+ import { observer } from "mobx-react-lite";
3
+ import { DiContainerProvider, useContainer, useFeature } from "@webiny/app";
4
+ import { CenteredView, FormErrors, SimpleForm, SimpleFormContent, SimpleFormFooter, SimpleFormHeader } from "@webiny/app-admin";
5
+ import { Button, OverlayLoader, useToast } from "@webiny/admin-ui";
6
+ import { FormView } from "@webiny/app-admin/features/formModel/FormView.js";
7
+ import { BackgroundTaskSettingsPresenterFeature } from "../feature.js";
8
+ import { GetBackgroundTaskSettingsFeature } from "../../../features/getBackgroundTaskSettings/feature.js";
9
+ import { UpdateBackgroundTaskSettingsFeature } from "../../../features/updateBackgroundTaskSettings/feature.js";
10
+ const BackgroundTaskSettingsView_BackgroundTaskSettingsViewInner = observer(function() {
11
+ const { presenter } = useFeature(BackgroundTaskSettingsPresenterFeature);
12
+ const toast = useToast();
13
+ useEffect(()=>{
14
+ presenter.init();
15
+ }, [
16
+ presenter
17
+ ]);
18
+ const { vm } = presenter;
19
+ const handleSave = async ()=>{
20
+ const success = await presenter.save();
21
+ if (success) toast.showSuccessToast({
22
+ title: "Background task settings saved successfully!"
23
+ });
24
+ };
25
+ return /*#__PURE__*/ react.createElement(CenteredView, null, /*#__PURE__*/ react.createElement(FormErrors, {
26
+ form: vm.form
27
+ }), /*#__PURE__*/ react.createElement(SimpleForm, null, vm.loading ? /*#__PURE__*/ react.createElement(OverlayLoader, {
28
+ text: "Loading settings..."
29
+ }) : null, vm.saving ? /*#__PURE__*/ react.createElement(OverlayLoader, {
30
+ text: "Saving settings..."
31
+ }) : null, /*#__PURE__*/ react.createElement(SimpleFormHeader, {
32
+ title: "Background Task Settings"
33
+ }), /*#__PURE__*/ react.createElement(SimpleFormContent, null, /*#__PURE__*/ react.createElement(FormView, {
34
+ name: "BackgroundTaskSettings",
35
+ form: vm.form
36
+ })), /*#__PURE__*/ react.createElement(SimpleFormFooter, null, /*#__PURE__*/ react.createElement(Button, {
37
+ text: "Save settings",
38
+ onClick: handleSave
39
+ }))));
40
+ });
41
+ const BackgroundTaskSettingsView = ()=>{
42
+ const container = useContainer();
43
+ const scopedContainer = useMemo(()=>{
44
+ const child = container.createChildContainer();
45
+ GetBackgroundTaskSettingsFeature.register(child);
46
+ UpdateBackgroundTaskSettingsFeature.register(child);
47
+ BackgroundTaskSettingsPresenterFeature.register(child);
48
+ return child;
49
+ }, []);
50
+ return /*#__PURE__*/ react.createElement(DiContainerProvider, {
51
+ container: scopedContainer
52
+ }, /*#__PURE__*/ react.createElement(BackgroundTaskSettingsView_BackgroundTaskSettingsViewInner, null));
53
+ };
54
+ export { BackgroundTaskSettingsView };
55
+
56
+ //# sourceMappingURL=BackgroundTaskSettingsView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js","sources":["../../../../../src/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { DiContainerProvider, useContainer, useFeature } from \"@webiny/app\";\nimport { CenteredView, FormErrors } from \"@webiny/app-admin\";\nimport { Button, OverlayLoader } from \"@webiny/admin-ui\";\nimport { FormView } from \"@webiny/app-admin/features/formModel/FormView.js\";\nimport { SimpleFormHeader } from \"@webiny/app-admin\";\nimport { SimpleFormFooter } from \"@webiny/app-admin\";\nimport { SimpleFormContent } from \"@webiny/app-admin\";\nimport { SimpleForm } from \"@webiny/app-admin\";\nimport { useToast } from \"@webiny/admin-ui\";\nimport { BackgroundTaskSettingsPresenterFeature } from \"../feature.js\";\nimport { GetBackgroundTaskSettingsFeature } from \"~/admin/features/getBackgroundTaskSettings/feature.js\";\nimport { UpdateBackgroundTaskSettingsFeature } from \"~/admin/features/updateBackgroundTaskSettings/feature.js\";\n\nconst BackgroundTaskSettingsViewInner = observer(function BackgroundTaskSettingsViewInner() {\n const { presenter } = useFeature(BackgroundTaskSettingsPresenterFeature);\n const toast = useToast();\n\n useEffect(() => {\n void presenter.init();\n }, [presenter]);\n\n const { vm } = presenter;\n\n const handleSave = async () => {\n const success = await presenter.save();\n if (success) {\n toast.showSuccessToast({\n title: \"Background task settings saved successfully!\"\n });\n }\n };\n\n return (\n <CenteredView>\n <FormErrors form={vm.form} />\n <SimpleForm>\n {vm.loading ? <OverlayLoader text={\"Loading settings...\"} /> : null}\n {vm.saving ? <OverlayLoader text={\"Saving settings...\"} /> : null}\n <SimpleFormHeader title=\"Background Task Settings\" />\n <SimpleFormContent>\n <FormView name=\"BackgroundTaskSettings\" form={vm.form} />\n </SimpleFormContent>\n <SimpleFormFooter>\n <Button text={\"Save settings\"} onClick={handleSave} />\n </SimpleFormFooter>\n </SimpleForm>\n </CenteredView>\n );\n});\n\nexport const BackgroundTaskSettingsView = () => {\n const container = useContainer();\n\n const scopedContainer = useMemo(() => {\n const child = container.createChildContainer();\n GetBackgroundTaskSettingsFeature.register(child);\n UpdateBackgroundTaskSettingsFeature.register(child);\n BackgroundTaskSettingsPresenterFeature.register(child);\n return child;\n }, []);\n\n return (\n <DiContainerProvider container={scopedContainer}>\n <BackgroundTaskSettingsViewInner />\n </DiContainerProvider>\n );\n};\n"],"names":["BackgroundTaskSettingsViewInner","observer","presenter","useFeature","BackgroundTaskSettingsPresenterFeature","toast","useToast","useEffect","vm","handleSave","success","CenteredView","FormErrors","SimpleForm","OverlayLoader","SimpleFormHeader","SimpleFormContent","FormView","SimpleFormFooter","Button","BackgroundTaskSettingsView","container","useContainer","scopedContainer","useMemo","child","GetBackgroundTaskSettingsFeature","UpdateBackgroundTaskSettingsFeature","DiContainerProvider"],"mappings":";;;;;;;;;AAeA,MAAMA,6DAAkCC,SAAS;IAC7C,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAWC;IACjC,MAAMC,QAAQC;IAEdC,UAAU;QACDL,UAAU,IAAI;IACvB,GAAG;QAACA;KAAU;IAEd,MAAM,EAAEM,EAAE,EAAE,GAAGN;IAEf,MAAMO,aAAa;QACf,MAAMC,UAAU,MAAMR,UAAU,IAAI;QACpC,IAAIQ,SACAL,MAAM,gBAAgB,CAAC;YACnB,OAAO;QACX;IAER;IAEA,OAAO,WAAP,GACI,oBAACM,cAAYA,MAAAA,WAAAA,GACT,oBAACC,YAAUA;QAAC,MAAMJ,GAAG,IAAI;sBACzB,oBAACK,YAAUA,MACNL,GAAG,OAAO,GAAG,WAAH,GAAG,oBAACM,eAAaA;QAAC,MAAM;SAA4B,MAC9DN,GAAG,MAAM,GAAG,WAAH,GAAG,oBAACM,eAAaA;QAAC,MAAM;SAA2B,oBAC7D,oBAACC,kBAAgBA;QAAC,OAAM;sBACxB,oBAACC,mBAAiBA,MAAAA,WAAAA,GACd,oBAACC,UAAQA;QAAC,MAAK;QAAyB,MAAMT,GAAG,IAAI;uBAEzD,oBAACU,kBAAgBA,MAAAA,WAAAA,GACb,oBAACC,QAAMA;QAAC,MAAM;QAAiB,SAASV;;AAK5D;AAEO,MAAMW,6BAA6B;IACtC,MAAMC,YAAYC;IAElB,MAAMC,kBAAkBC,QAAQ;QAC5B,MAAMC,QAAQJ,UAAU,oBAAoB;QAC5CK,iCAAiC,QAAQ,CAACD;QAC1CE,oCAAoC,QAAQ,CAACF;QAC7CrB,uCAAuC,QAAQ,CAACqB;QAChD,OAAOA;IACX,GAAG,EAAE;IAEL,OAAO,WAAP,GACI,oBAACG,qBAAmBA;QAAC,WAAWL;qBAC5B,oBAACvB,4DAA+BA;AAG5C"}
@@ -0,0 +1,3 @@
1
+ export declare const BackgroundTaskSettingsPresenterFeature: import("@webiny/feature/admin").FeatureDefinition<{
2
+ presenter: import("./abstractions.js").IBackgroundTaskSettingsPresenter;
3
+ }, []>;
@@ -0,0 +1,17 @@
1
+ import { createFeature } from "@webiny/feature/admin";
2
+ import { BackgroundTaskSettingsPresenter } from "./abstractions.js";
3
+ import { BackgroundTaskSettingsPresenter as external_BackgroundTaskSettingsPresenter_js_BackgroundTaskSettingsPresenter } from "./BackgroundTaskSettingsPresenter.js";
4
+ const BackgroundTaskSettingsPresenterFeature = createFeature({
5
+ name: "BackgroundTasks/BackgroundTaskSettingsPresenter",
6
+ register (container) {
7
+ container.register(external_BackgroundTaskSettingsPresenter_js_BackgroundTaskSettingsPresenter).inSingletonScope();
8
+ },
9
+ resolve (container) {
10
+ return {
11
+ presenter: container.resolve(BackgroundTaskSettingsPresenter)
12
+ };
13
+ }
14
+ });
15
+ export { BackgroundTaskSettingsPresenterFeature };
16
+
17
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/BackgroundTaskSettings/feature.js","sources":["../../../../src/admin/presentation/BackgroundTaskSettings/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { BackgroundTaskSettingsPresenter as PresenterAbstraction } from \"./abstractions.js\";\nimport { BackgroundTaskSettingsPresenter } from \"./BackgroundTaskSettingsPresenter.js\";\n\nexport const BackgroundTaskSettingsPresenterFeature = createFeature({\n name: \"BackgroundTasks/BackgroundTaskSettingsPresenter\",\n register(container) {\n container.register(BackgroundTaskSettingsPresenter).inSingletonScope();\n },\n resolve(container) {\n return {\n presenter: container.resolve(PresenterAbstraction)\n };\n }\n});\n"],"names":["BackgroundTaskSettingsPresenterFeature","createFeature","container","BackgroundTaskSettingsPresenter","PresenterAbstraction"],"mappings":";;;AAIO,MAAMA,yCAAyCC,cAAc;IAChE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,6EAAiC,gBAAgB;IACxE;IACA,SAAQD,SAAS;QACb,OAAO;YACH,WAAWA,UAAU,OAAO,CAACE;QACjC;IACJ;AACJ"}
@@ -0,0 +1,2 @@
1
+ export { BackgroundTaskSettingsPresenter } from "./abstractions.js";
2
+ export { BackgroundTaskSettingsPresenterFeature } from "./feature.js";
@@ -0,0 +1,2 @@
1
+ export { BackgroundTaskSettingsPresenter } from "./abstractions.js";
2
+ export { BackgroundTaskSettingsPresenterFeature } from "./feature.js";
@@ -4,6 +4,7 @@ import { DiContainerProvider, useContainer, useFeature } from "@webiny/app";
4
4
  import { DataTable, Heading, Separator, Text } from "@webiny/admin-ui";
5
5
  import { TaskDefinitionsPresenterFeature } from "../feature.js";
6
6
  import { ListDefinitionsFeature } from "../../../features/listDefinitions/feature.js";
7
+ import { TaskExecutionsButton } from "./TaskExecutionsButton.js";
7
8
  const TaskDefinitionsView_TaskDefinitionsViewInner = observer(function() {
8
9
  const { presenter } = useFeature(TaskDefinitionsPresenterFeature);
9
10
  useEffect(()=>{
@@ -45,7 +46,7 @@ const TaskDefinitionsView_TaskDefinitionsViewInner = observer(function() {
45
46
  className: "flex items-center justify-between py-sm px-md"
46
47
  }, /*#__PURE__*/ react.createElement(Heading, {
47
48
  level: 5
48
- }, "Task Definitions")), /*#__PURE__*/ react.createElement(Separator, null), /*#__PURE__*/ react.createElement("div", {
49
+ }, "Task Definitions"), /*#__PURE__*/ react.createElement(TaskExecutionsButton, null)), /*#__PURE__*/ react.createElement(Separator, null), /*#__PURE__*/ react.createElement("div", {
49
50
  className: "flex-1 overflow-auto"
50
51
  }, vm.loading || 0 !== vm.definitions.length ? /*#__PURE__*/ react.createElement(DataTable, {
51
52
  columns: columns,
@@ -1 +1 @@
1
- {"version":3,"file":"admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js","sources":["../../../../../src/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { DiContainerProvider, useContainer, useFeature } from \"@webiny/app\";\nimport { DataTable, Heading, Separator, Text } from \"@webiny/admin-ui\";\nimport { TaskDefinitionsPresenterFeature } from \"../feature.js\";\nimport { ListDefinitionsFeature } from \"~/admin/features/listDefinitions/feature.js\";\nimport type { TaskDefinition } from \"~/admin/shared/types.js\";\n\nconst TaskDefinitionsViewInner = observer(function TaskDefinitionsViewInner() {\n const { presenter } = useFeature(TaskDefinitionsPresenterFeature);\n\n useEffect(() => {\n presenter.init();\n }, [presenter]);\n\n const { vm } = presenter;\n\n const columns = useMemo(\n () => ({\n title: {\n header: \"Title\",\n cell: (row: TaskDefinition) => <Text size=\"sm\">{row.title || row.id}</Text>,\n enableSorting: false,\n size: 250\n },\n id: {\n header: \"ID\",\n cell: (row: TaskDefinition) => (\n <Text size=\"sm\" className=\"text-neutral-strong font-mono\">\n {row.id}\n </Text>\n ),\n enableSorting: false,\n size: 250\n },\n description: {\n header: \"Description\",\n cell: (row: TaskDefinition) => (\n <Text size=\"sm\" className=\"text-neutral-strong\">\n {row.description || \"—\"}\n </Text>\n ),\n enableSorting: false\n }\n }),\n []\n );\n\n return (\n <div className=\"flex flex-col h-main-content\">\n <div className=\"flex items-center justify-between py-sm px-md\">\n <Heading level={5}>Task Definitions</Heading>\n </div>\n <Separator />\n <div className=\"flex-1 overflow-auto\">\n {!vm.loading && vm.definitions.length === 0 ? (\n <div className=\"flex flex-col items-center justify-center h-full gap-md\">\n <Text className=\"text-neutral-strong\">No task definitions found.</Text>\n </div>\n ) : (\n <DataTable<TaskDefinition>\n columns={columns}\n data={vm.definitions}\n loading={vm.loading}\n stickyHeader\n />\n )}\n </div>\n </div>\n );\n});\n\nexport const TaskDefinitionsView = () => {\n const container = useContainer();\n\n const scopedContainer = useMemo(() => {\n const child = container.createChildContainer();\n ListDefinitionsFeature.register(child);\n TaskDefinitionsPresenterFeature.register(child);\n return child;\n }, []);\n\n return (\n <DiContainerProvider container={scopedContainer}>\n <TaskDefinitionsViewInner />\n </DiContainerProvider>\n );\n};\n"],"names":["TaskDefinitionsViewInner","observer","presenter","useFeature","TaskDefinitionsPresenterFeature","useEffect","vm","columns","useMemo","row","Text","Heading","Separator","DataTable","TaskDefinitionsView","container","useContainer","scopedContainer","child","ListDefinitionsFeature","DiContainerProvider"],"mappings":";;;;;;AAQA,MAAMA,+CAA2BC,SAAS;IACtC,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAWC;IAEjCC,UAAU;QACNH,UAAU,IAAI;IAClB,GAAG;QAACA;KAAU;IAEd,MAAM,EAAEI,EAAE,EAAE,GAAGJ;IAEf,MAAMK,UAAUC,QACZ,IAAO;YACH,OAAO;gBACH,QAAQ;gBACR,MAAM,CAACC,MAAAA,WAAAA,GAAwB,oBAACC,MAAIA;wBAAC,MAAK;uBAAMD,IAAI,KAAK,IAAIA,IAAI,EAAE;gBACnE,eAAe;gBACf,MAAM;YACV;YACA,IAAI;gBACA,QAAQ;gBACR,MAAM,CAACA,MAAAA,WAAAA,GACH,oBAACC,MAAIA;wBAAC,MAAK;wBAAK,WAAU;uBACrBD,IAAI,EAAE;gBAGf,eAAe;gBACf,MAAM;YACV;YACA,aAAa;gBACT,QAAQ;gBACR,MAAM,CAACA,MAAAA,WAAAA,GACH,oBAACC,MAAIA;wBAAC,MAAK;wBAAK,WAAU;uBACrBD,IAAI,WAAW,IAAI;gBAG5B,eAAe;YACnB;QACJ,IACA,EAAE;IAGN,OAAO,WAAP,GACI,oBAAC;QAAI,WAAU;qBACX,oBAAC;QAAI,WAAU;qBACX,oBAACE,SAAOA;QAAC,OAAO;OAAG,oCAEvB,oBAACC,WAASA,OAAAA,WAAAA,GACV,oBAAC;QAAI,WAAU;OACV,AAACN,GAAG,OAAO,IAAIA,AAA0B,MAA1BA,GAAG,WAAW,CAAC,MAAM,GAES,cAG1C,oBAACO,WAASA;QACN,SAASN;QACT,MAAMD,GAAG,WAAW;QACpB,SAASA,GAAG,OAAO;QACnB;SATsC,WAAJ,GACtC,oBAAC;QAAI,WAAU;qBACX,oBAACI,MAAIA;QAAC,WAAU;OAAsB;AAa9D;AAEO,MAAMI,sBAAsB;IAC/B,MAAMC,YAAYC;IAElB,MAAMC,kBAAkBT,QAAQ;QAC5B,MAAMU,QAAQH,UAAU,oBAAoB;QAC5CI,uBAAuB,QAAQ,CAACD;QAChCd,gCAAgC,QAAQ,CAACc;QACzC,OAAOA;IACX,GAAG,EAAE;IAEL,OAAO,WAAP,GACI,oBAACE,qBAAmBA;QAAC,WAAWH;qBAC5B,oBAACjB,8CAAwBA;AAGrC"}
1
+ {"version":3,"file":"admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js","sources":["../../../../../src/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { DiContainerProvider, useContainer, useFeature } from \"@webiny/app\";\nimport { DataTable, Heading, Separator, Text } from \"@webiny/admin-ui\";\nimport { TaskDefinitionsPresenterFeature } from \"../feature.js\";\nimport { ListDefinitionsFeature } from \"~/admin/features/listDefinitions/feature.js\";\nimport type { TaskDefinition } from \"~/admin/shared/types.js\";\nimport { TaskExecutionsButton } from \"~/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js\";\n\nconst TaskDefinitionsViewInner = observer(function TaskDefinitionsViewInner() {\n const { presenter } = useFeature(TaskDefinitionsPresenterFeature);\n\n useEffect(() => {\n presenter.init();\n }, [presenter]);\n\n const { vm } = presenter;\n\n const columns = useMemo(\n () => ({\n title: {\n header: \"Title\",\n cell: (row: TaskDefinition) => <Text size=\"sm\">{row.title || row.id}</Text>,\n enableSorting: false,\n size: 250\n },\n id: {\n header: \"ID\",\n cell: (row: TaskDefinition) => (\n <Text size=\"sm\" className=\"text-neutral-strong font-mono\">\n {row.id}\n </Text>\n ),\n enableSorting: false,\n size: 250\n },\n description: {\n header: \"Description\",\n cell: (row: TaskDefinition) => (\n <Text size=\"sm\" className=\"text-neutral-strong\">\n {row.description || \"—\"}\n </Text>\n ),\n enableSorting: false\n }\n }),\n []\n );\n\n return (\n <div className=\"flex flex-col h-main-content\">\n <div className=\"flex items-center justify-between py-sm px-md\">\n <Heading level={5}>Task Definitions</Heading>\n <TaskExecutionsButton />\n </div>\n <Separator />\n <div className=\"flex-1 overflow-auto\">\n {!vm.loading && vm.definitions.length === 0 ? (\n <div className=\"flex flex-col items-center justify-center h-full gap-md\">\n <Text className=\"text-neutral-strong\">No task definitions found.</Text>\n </div>\n ) : (\n <DataTable<TaskDefinition>\n columns={columns}\n data={vm.definitions}\n loading={vm.loading}\n stickyHeader\n />\n )}\n </div>\n </div>\n );\n});\n\nexport const TaskDefinitionsView = () => {\n const container = useContainer();\n\n const scopedContainer = useMemo(() => {\n const child = container.createChildContainer();\n ListDefinitionsFeature.register(child);\n TaskDefinitionsPresenterFeature.register(child);\n return child;\n }, []);\n\n return (\n <DiContainerProvider container={scopedContainer}>\n <TaskDefinitionsViewInner />\n </DiContainerProvider>\n );\n};\n"],"names":["TaskDefinitionsViewInner","observer","presenter","useFeature","TaskDefinitionsPresenterFeature","useEffect","vm","columns","useMemo","row","Text","Heading","TaskExecutionsButton","Separator","DataTable","TaskDefinitionsView","container","useContainer","scopedContainer","child","ListDefinitionsFeature","DiContainerProvider"],"mappings":";;;;;;;AASA,MAAMA,+CAA2BC,SAAS;IACtC,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAWC;IAEjCC,UAAU;QACNH,UAAU,IAAI;IAClB,GAAG;QAACA;KAAU;IAEd,MAAM,EAAEI,EAAE,EAAE,GAAGJ;IAEf,MAAMK,UAAUC,QACZ,IAAO;YACH,OAAO;gBACH,QAAQ;gBACR,MAAM,CAACC,MAAAA,WAAAA,GAAwB,oBAACC,MAAIA;wBAAC,MAAK;uBAAMD,IAAI,KAAK,IAAIA,IAAI,EAAE;gBACnE,eAAe;gBACf,MAAM;YACV;YACA,IAAI;gBACA,QAAQ;gBACR,MAAM,CAACA,MAAAA,WAAAA,GACH,oBAACC,MAAIA;wBAAC,MAAK;wBAAK,WAAU;uBACrBD,IAAI,EAAE;gBAGf,eAAe;gBACf,MAAM;YACV;YACA,aAAa;gBACT,QAAQ;gBACR,MAAM,CAACA,MAAAA,WAAAA,GACH,oBAACC,MAAIA;wBAAC,MAAK;wBAAK,WAAU;uBACrBD,IAAI,WAAW,IAAI;gBAG5B,eAAe;YACnB;QACJ,IACA,EAAE;IAGN,OAAO,WAAP,GACI,oBAAC;QAAI,WAAU;qBACX,oBAAC;QAAI,WAAU;qBACX,oBAACE,SAAOA;QAAC,OAAO;OAAG,mCACnB,oBAACC,sBAAoBA,QAAAA,WAAAA,GAEzB,oBAACC,WAASA,OAAAA,WAAAA,GACV,oBAAC;QAAI,WAAU;OACV,AAACP,GAAG,OAAO,IAAIA,AAA0B,MAA1BA,GAAG,WAAW,CAAC,MAAM,GAES,cAG1C,oBAACQ,WAASA;QACN,SAASP;QACT,MAAMD,GAAG,WAAW;QACpB,SAASA,GAAG,OAAO;QACnB;SATsC,WAAJ,GACtC,oBAAC;QAAI,WAAU;qBACX,oBAACI,MAAIA;QAAC,WAAU;OAAsB;AAa9D;AAEO,MAAMK,sBAAsB;IAC/B,MAAMC,YAAYC;IAElB,MAAMC,kBAAkBV,QAAQ;QAC5B,MAAMW,QAAQH,UAAU,oBAAoB;QAC5CI,uBAAuB,QAAQ,CAACD;QAChCf,gCAAgC,QAAQ,CAACe;QACzC,OAAOA;IACX,GAAG,EAAE;IAEL,OAAO,WAAP,GACI,oBAACE,qBAAmBA;QAAC,WAAWH;qBAC5B,oBAAClB,8CAAwBA;AAGrC"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const TaskExecutionsButton: () => React.JSX.Element;
@@ -0,0 +1,16 @@
1
+ import react from "react";
2
+ import { useRouter } from "@webiny/app-admin";
3
+ import { Button } from "@webiny/admin-ui";
4
+ import { ReactComponent } from "@webiny/icons/task.svg";
5
+ import { Routes } from "../../../routes.js";
6
+ const TaskExecutionsButton = ()=>{
7
+ const { goToRoute } = useRouter();
8
+ return /*#__PURE__*/ react.createElement(Button, {
9
+ variant: "secondary",
10
+ onClick: ()=>goToRoute(Routes.Executions),
11
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null)
12
+ }, "Task Executions");
13
+ };
14
+ export { TaskExecutionsButton };
15
+
16
+ //# sourceMappingURL=TaskExecutionsButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js","sources":["../../../../../src/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { useRouter } from \"@webiny/app-admin\";\nimport { Button } from \"@webiny/admin-ui\";\nimport { ReactComponent as TaskIcon } from \"@webiny/icons/task.svg\";\nimport { Routes } from \"~/admin/routes.js\";\n\nexport const TaskExecutionsButton = () => {\n const { goToRoute } = useRouter();\n\n return (\n <Button\n variant=\"secondary\"\n onClick={() => goToRoute(Routes.Executions)}\n icon={<TaskIcon />}\n >\n Task Executions\n </Button>\n );\n};\n"],"names":["TaskExecutionsButton","goToRoute","useRouter","Button","Routes","TaskIcon"],"mappings":";;;;;AAMO,MAAMA,uBAAuB;IAChC,MAAM,EAAEC,SAAS,EAAE,GAAGC;IAEtB,OAAO,WAAP,GACI,oBAACC,QAAMA;QACH,SAAQ;QACR,SAAS,IAAMF,UAAUG,OAAO,UAAU;QAC1C,oBAAM,oBAACC,gBAAQA;OAClB;AAIT"}
@@ -30,6 +30,8 @@ declare class TaskExecutionsPresenterImpl implements ITaskExecutionsPresenter {
30
30
  set: (key: string, value: unknown) => void;
31
31
  clear: (key: string) => void;
32
32
  clearAll: () => void;
33
+ show: () => void;
34
+ hide: () => void;
33
35
  };
34
36
  selection: {
35
37
  toggle: (id: string) => void;
@@ -28,7 +28,9 @@ class TaskExecutionsPresenterImpl {
28
28
  this.filter = {
29
29
  set: (key, value)=>this.listPresenter.actions.filter.set(key, value),
30
30
  clear: (key)=>this.listPresenter.actions.filter.clear(key),
31
- clearAll: ()=>this.listPresenter.actions.filter.clearAll()
31
+ clearAll: ()=>this.listPresenter.actions.filter.clearAll(),
32
+ show: ()=>this.listPresenter.actions.filter.show(),
33
+ hide: ()=>this.listPresenter.actions.filter.hide()
32
34
  };
33
35
  this.selection = {
34
36
  toggle: (id)=>this.listPresenter.actions.selection.toggle(id),
@@ -1 +1 @@
1
- {"version":3,"file":"admin/presentation/TaskExecutions/TaskExecutionsPresenter.js","sources":["../../../../src/admin/presentation/TaskExecutions/TaskExecutionsPresenter.ts"],"sourcesContent":["import { makeAutoObservable, runInAction, computed } from \"mobx\";\nimport { ListPresenter } from \"@webiny/app-admin/presentation/listPresenter/abstractions.js\";\nimport type { Task } from \"~/admin/shared/types.js\";\nimport type { IDefinitionOption } from \"./abstractions.js\";\nimport {\n TaskExecutionsPresenter as Abstraction,\n type ITaskExecutionsPresenter,\n type ITaskExecutionsViewModel\n} from \"./abstractions.js\";\nimport { TaskExecutionsDataSource } from \"./TaskExecutionsDataSource.js\";\nimport { ListTasksUseCase } from \"~/admin/features/listTasks/abstractions.js\";\nimport { DeleteTaskUseCase } from \"~/admin/features/deleteTask/abstractions.js\";\nimport { AbortTaskUseCase } from \"~/admin/features/abortTask/abstractions.js\";\nimport { ListDefinitionsUseCase } from \"~/admin/features/listDefinitions/abstractions.js\";\nimport { TaskPermissions } from \"~/admin/features/permissions/abstractions.js\";\n\nclass TaskExecutionsPresenterImpl implements ITaskExecutionsPresenter {\n private _selectedTask: Task | null = null;\n private _definitionOptions: IDefinitionOption[] = [];\n\n constructor(\n private readonly listPresenter: ListPresenter.Interface<Task>,\n private readonly listTasksUseCase: ListTasksUseCase.Interface,\n private readonly deleteTaskUseCase: DeleteTaskUseCase.Interface,\n private readonly abortTaskUseCase: AbortTaskUseCase.Interface,\n private readonly listDefinitionsUseCase: ListDefinitionsUseCase.Interface,\n private readonly permissions: TaskPermissions.Interface\n ) {\n makeAutoObservable(this, { vm: computed });\n }\n\n get vm(): ITaskExecutionsViewModel {\n return {\n list: this.listPresenter.vm,\n definitionOptions: this._definitionOptions,\n permissions: {\n canRead: this.permissions.canRead(\"task\"),\n canDelete: this.permissions.canDelete(\"task\")\n }\n };\n }\n\n get selectedTask(): Task | null {\n return this._selectedTask;\n }\n\n search = {\n set: (query: string) => this.listPresenter.actions.search.set(query),\n clear: () => this.listPresenter.actions.search.clear()\n };\n\n sort = {\n set: (field: string, direction: \"ASC\" | \"DESC\") =>\n this.listPresenter.actions.sort.set(field, direction),\n toggle: (field: string) => this.listPresenter.actions.sort.toggle(field)\n };\n\n filter = {\n set: (key: string, value: unknown) => this.listPresenter.actions.filter.set(key, value),\n clear: (key: string) => this.listPresenter.actions.filter.clear(key),\n clearAll: () => this.listPresenter.actions.filter.clearAll()\n };\n\n selection = {\n toggle: (id: string) => this.listPresenter.actions.selection.toggle(id),\n selectRangeTo: (id: string) => this.listPresenter.actions.selection.selectRangeTo(id),\n selectAll: () => this.listPresenter.actions.selection.selectAll(),\n deselectAll: () => this.listPresenter.actions.selection.deselectAll(),\n selectRows: (ids: string[]) => this.listPresenter.actions.selection.selectRows(ids),\n isSelected: (id: string) => this.listPresenter.actions.selection.isSelected(id)\n };\n\n loadMore = () => this.listPresenter.actions.loadMore();\n refresh = () => this.listPresenter.actions.refresh();\n\n deleteTask = async (id: string) => {\n await this.deleteTaskUseCase.execute(id);\n this._selectedTask = null;\n await this.listPresenter.actions.refresh();\n };\n\n abortTask = async (id: string) => {\n await this.abortTaskUseCase.execute({ id });\n await this.listPresenter.actions.refresh();\n };\n\n selectTask = (task: Task | null) => {\n this._selectedTask = task;\n };\n\n init(): void {\n const dataSource = new TaskExecutionsDataSource(this.listTasksUseCase);\n this.listPresenter.init({\n dataSource,\n initialSort: { field: \"createdOn\", direction: \"DESC\" },\n limit: 25\n });\n\n void this.listDefinitionsUseCase\n .execute()\n .then(definitions => {\n runInAction(() => {\n this._definitionOptions = definitions.map(d => ({\n label: d.title,\n value: d.id\n }));\n });\n })\n .catch(() => {\n /* Definitions are used for filter labels only; safe to ignore. */\n });\n }\n}\n\nexport const TaskExecutionsPresenter = Abstraction.createImplementation({\n implementation: TaskExecutionsPresenterImpl,\n dependencies: [\n ListPresenter,\n ListTasksUseCase,\n DeleteTaskUseCase,\n AbortTaskUseCase,\n ListDefinitionsUseCase,\n TaskPermissions\n ]\n});\n"],"names":["TaskExecutionsPresenterImpl","listPresenter","listTasksUseCase","deleteTaskUseCase","abortTaskUseCase","listDefinitionsUseCase","permissions","query","field","direction","key","value","id","ids","task","makeAutoObservable","computed","dataSource","TaskExecutionsDataSource","definitions","runInAction","d","TaskExecutionsPresenter","Abstraction","ListPresenter","ListTasksUseCase","DeleteTaskUseCase","AbortTaskUseCase","ListDefinitionsUseCase","TaskPermissions"],"mappings":"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"}
1
+ {"version":3,"file":"admin/presentation/TaskExecutions/TaskExecutionsPresenter.js","sources":["../../../../src/admin/presentation/TaskExecutions/TaskExecutionsPresenter.ts"],"sourcesContent":["import { makeAutoObservable, runInAction, computed } from \"mobx\";\nimport { ListPresenter } from \"@webiny/app-admin/presentation/listPresenter/abstractions.js\";\nimport type { Task } from \"~/admin/shared/types.js\";\nimport type { IDefinitionOption } from \"./abstractions.js\";\nimport {\n TaskExecutionsPresenter as Abstraction,\n type ITaskExecutionsPresenter,\n type ITaskExecutionsViewModel\n} from \"./abstractions.js\";\nimport { TaskExecutionsDataSource } from \"./TaskExecutionsDataSource.js\";\nimport { ListTasksUseCase } from \"~/admin/features/listTasks/abstractions.js\";\nimport { DeleteTaskUseCase } from \"~/admin/features/deleteTask/abstractions.js\";\nimport { AbortTaskUseCase } from \"~/admin/features/abortTask/abstractions.js\";\nimport { ListDefinitionsUseCase } from \"~/admin/features/listDefinitions/abstractions.js\";\nimport { TaskPermissions } from \"~/admin/features/permissions/abstractions.js\";\n\nclass TaskExecutionsPresenterImpl implements ITaskExecutionsPresenter {\n private _selectedTask: Task | null = null;\n private _definitionOptions: IDefinitionOption[] = [];\n\n constructor(\n private readonly listPresenter: ListPresenter.Interface<Task>,\n private readonly listTasksUseCase: ListTasksUseCase.Interface,\n private readonly deleteTaskUseCase: DeleteTaskUseCase.Interface,\n private readonly abortTaskUseCase: AbortTaskUseCase.Interface,\n private readonly listDefinitionsUseCase: ListDefinitionsUseCase.Interface,\n private readonly permissions: TaskPermissions.Interface\n ) {\n makeAutoObservable(this, { vm: computed });\n }\n\n get vm(): ITaskExecutionsViewModel {\n return {\n list: this.listPresenter.vm,\n definitionOptions: this._definitionOptions,\n permissions: {\n canRead: this.permissions.canRead(\"task\"),\n canDelete: this.permissions.canDelete(\"task\")\n }\n };\n }\n\n get selectedTask(): Task | null {\n return this._selectedTask;\n }\n\n search = {\n set: (query: string) => this.listPresenter.actions.search.set(query),\n clear: () => this.listPresenter.actions.search.clear()\n };\n\n sort = {\n set: (field: string, direction: \"ASC\" | \"DESC\") =>\n this.listPresenter.actions.sort.set(field, direction),\n toggle: (field: string) => this.listPresenter.actions.sort.toggle(field)\n };\n\n filter = {\n set: (key: string, value: unknown) => this.listPresenter.actions.filter.set(key, value),\n clear: (key: string) => this.listPresenter.actions.filter.clear(key),\n clearAll: () => this.listPresenter.actions.filter.clearAll(),\n show: () => this.listPresenter.actions.filter.show(),\n hide: () => this.listPresenter.actions.filter.hide()\n };\n\n selection = {\n toggle: (id: string) => this.listPresenter.actions.selection.toggle(id),\n selectRangeTo: (id: string) => this.listPresenter.actions.selection.selectRangeTo(id),\n selectAll: () => this.listPresenter.actions.selection.selectAll(),\n deselectAll: () => this.listPresenter.actions.selection.deselectAll(),\n selectRows: (ids: string[]) => this.listPresenter.actions.selection.selectRows(ids),\n isSelected: (id: string) => this.listPresenter.actions.selection.isSelected(id)\n };\n\n loadMore = () => this.listPresenter.actions.loadMore();\n refresh = () => this.listPresenter.actions.refresh();\n\n deleteTask = async (id: string) => {\n await this.deleteTaskUseCase.execute(id);\n this._selectedTask = null;\n await this.listPresenter.actions.refresh();\n };\n\n abortTask = async (id: string) => {\n await this.abortTaskUseCase.execute({ id });\n await this.listPresenter.actions.refresh();\n };\n\n selectTask = (task: Task | null) => {\n this._selectedTask = task;\n };\n\n init(): void {\n const dataSource = new TaskExecutionsDataSource(this.listTasksUseCase);\n this.listPresenter.init({\n dataSource,\n initialSort: { field: \"createdOn\", direction: \"DESC\" },\n limit: 25\n });\n\n void this.listDefinitionsUseCase\n .execute()\n .then(definitions => {\n runInAction(() => {\n this._definitionOptions = definitions.map(d => ({\n label: d.title,\n value: d.id\n }));\n });\n })\n .catch(() => {\n /* Definitions are used for filter labels only; safe to ignore. */\n });\n }\n}\n\nexport const TaskExecutionsPresenter = Abstraction.createImplementation({\n implementation: TaskExecutionsPresenterImpl,\n dependencies: [\n ListPresenter,\n ListTasksUseCase,\n DeleteTaskUseCase,\n AbortTaskUseCase,\n ListDefinitionsUseCase,\n TaskPermissions\n ]\n});\n"],"names":["TaskExecutionsPresenterImpl","listPresenter","listTasksUseCase","deleteTaskUseCase","abortTaskUseCase","listDefinitionsUseCase","permissions","query","field","direction","key","value","id","ids","task","makeAutoObservable","computed","dataSource","TaskExecutionsDataSource","definitions","runInAction","d","TaskExecutionsPresenter","Abstraction","ListPresenter","ListTasksUseCase","DeleteTaskUseCase","AbortTaskUseCase","ListDefinitionsUseCase","TaskPermissions"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const TaskDefinitionsButton: () => React.JSX.Element;
@@ -0,0 +1,16 @@
1
+ import react from "react";
2
+ import { useRouter } from "@webiny/app-admin";
3
+ import { Button } from "@webiny/admin-ui";
4
+ import { ReactComponent } from "@webiny/icons/list.svg";
5
+ import { Routes } from "../../../routes.js";
6
+ const TaskDefinitionsButton = ()=>{
7
+ const { goToRoute } = useRouter();
8
+ return /*#__PURE__*/ react.createElement(Button, {
9
+ variant: "secondary",
10
+ onClick: ()=>goToRoute(Routes.Definitions),
11
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null)
12
+ }, "Task Definitions");
13
+ };
14
+ export { TaskDefinitionsButton };
15
+
16
+ //# sourceMappingURL=TaskDefinitionsButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js","sources":["../../../../../src/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { useRouter } from \"@webiny/app-admin\";\nimport { Button } from \"@webiny/admin-ui\";\nimport { ReactComponent as ListIcon } from \"@webiny/icons/list.svg\";\nimport { Routes } from \"~/admin/routes.js\";\n\nexport const TaskDefinitionsButton = () => {\n const { goToRoute } = useRouter();\n\n return (\n <Button\n variant=\"secondary\"\n onClick={() => goToRoute(Routes.Definitions)}\n icon={<ListIcon />}\n >\n Task Definitions\n </Button>\n );\n};\n"],"names":["TaskDefinitionsButton","goToRoute","useRouter","Button","Routes","ListIcon"],"mappings":";;;;;AAMO,MAAMA,wBAAwB;IACjC,MAAM,EAAEC,SAAS,EAAE,GAAGC;IAEtB,OAAO,WAAP,GACI,oBAACC,QAAMA;QACH,SAAQ;QACR,SAAS,IAAMF,UAAUG,OAAO,WAAW;QAC3C,oBAAM,oBAACC,gBAAQA;OAClB;AAIT"}
@@ -2,8 +2,8 @@ import react, { useCallback, useEffect, useMemo } from "react";
2
2
  import debounce from "lodash/debounce.js";
3
3
  import { observer } from "mobx-react-lite";
4
4
  import { DiContainerProvider, useContainer, useFeature } from "@webiny/app";
5
- import { Button, DataTable, DatePicker, DropdownMenu, Heading, IconButton, Input, Scrollbar, Select, Separator, Tag, Text, TimeAgo } from "@webiny/admin-ui";
6
- import { useConfirmationDialog, useSnackbar } from "@webiny/app-admin/hooks/index.js";
5
+ import { Button, DataTable, DatePicker, DropdownMenu, Grid, Heading, IconButton, Input, Scrollbar, Select, Separator, Skeleton, Tag, Text, TimeAgo, useToast } from "@webiny/admin-ui";
6
+ import { useConfirmationDialog } from "@webiny/app-admin/hooks/index.js";
7
7
  import { ReactComponent } from "@webiny/icons/more_vert.svg";
8
8
  import { ReactComponent as delete_svg_ReactComponent } from "@webiny/icons/delete.svg";
9
9
  import { ReactComponent as stop_circle_svg_ReactComponent } from "@webiny/icons/stop_circle.svg";
@@ -14,6 +14,7 @@ import { AbortTaskFeature } from "../../../features/abortTask/feature.js";
14
14
  import { ListDefinitionsFeature } from "../../../features/listDefinitions/feature.js";
15
15
  import { TaskPermissionsFeature } from "../../../features/permissions/feature.js";
16
16
  import { TaskDetailDrawer } from "../../TaskDetail/components/TaskDetailDrawer.js";
17
+ import { TaskDefinitionsButton } from "./TaskDefinitionsButton.js";
17
18
  const STATUS_TAG_VARIANT = {
18
19
  pending: "neutral-light",
19
20
  running: "accent",
@@ -45,7 +46,7 @@ const STATUS_OPTIONS = [
45
46
  ];
46
47
  const TaskExecutionsView_TaskExecutionsViewInner = observer(function() {
47
48
  const { presenter } = useFeature(TaskExecutionsPresenterFeature);
48
- const { showSnackbar } = useSnackbar();
49
+ const toast = useToast();
49
50
  useEffect(()=>{
50
51
  presenter.init();
51
52
  }, [
@@ -161,21 +162,25 @@ const TaskExecutionsView_TaskExecutionsViewInner = observer(function() {
161
162
  "aria-label": "Actions"
162
163
  })
163
164
  }, isRunning && /*#__PURE__*/ react.createElement(DropdownMenu.Item, {
165
+ text: "Abort",
164
166
  icon: /*#__PURE__*/ react.createElement(stop_circle_svg_ReactComponent, null),
165
167
  onClick: ()=>{
166
168
  showAbortConfirmation(()=>presenter.abortTask(row.id).then(()=>{
167
- showSnackbar("Task aborted.");
169
+ toast.showSuccessToast({
170
+ title: "Task aborted."
171
+ });
168
172
  }));
169
- },
170
- text: "Abort"
173
+ }
171
174
  }), isTerminal && vm.permissions.canDelete && /*#__PURE__*/ react.createElement(react.Fragment, null, isRunning && /*#__PURE__*/ react.createElement(DropdownMenu.Separator, null), /*#__PURE__*/ react.createElement(DropdownMenu.Item, {
175
+ text: "Delete",
172
176
  icon: /*#__PURE__*/ react.createElement(delete_svg_ReactComponent, null),
173
177
  onClick: ()=>{
174
178
  showDeleteConfirmation(()=>presenter.deleteTask(row.id).then(()=>{
175
- showSnackbar("Task deleted.");
179
+ toast.showSuccessToast({
180
+ title: "Task deleted."
181
+ });
176
182
  }));
177
- },
178
- text: "Delete"
183
+ }
179
184
  })));
180
185
  },
181
186
  size: 56,
@@ -185,31 +190,30 @@ const TaskExecutionsView_TaskExecutionsViewInner = observer(function() {
185
190
  }
186
191
  }), [
187
192
  vm.permissions,
188
- vm.definitionOptions,
189
- presenter,
190
- showDeleteConfirmation,
191
- showAbortConfirmation,
192
- showSnackbar
193
+ vm.definitionOptions
193
194
  ]);
195
+ const hasFilters = Object.keys(vm.list.filters).length > 0;
194
196
  return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement("div", {
195
197
  className: "flex flex-col h-main-content"
196
198
  }, /*#__PURE__*/ react.createElement("div", {
197
199
  className: "flex items-center justify-between py-sm px-md"
198
200
  }, /*#__PURE__*/ react.createElement(Heading, {
199
201
  level: 5
200
- }, "Task Executions")), /*#__PURE__*/ react.createElement(Separator, null), /*#__PURE__*/ react.createElement("div", {
201
- className: "flex items-center gap-sm px-md py-xs flex-wrap"
202
- }, /*#__PURE__*/ react.createElement("div", {
203
- className: "w-[240px]"
202
+ }, "Task Executions"), /*#__PURE__*/ react.createElement(TaskDefinitionsButton, null)), /*#__PURE__*/ react.createElement(Separator, null), /*#__PURE__*/ react.createElement("div", {
203
+ className: "p-sm"
204
+ }, /*#__PURE__*/ react.createElement(Grid, null, /*#__PURE__*/ react.createElement(Grid.Column, {
205
+ span: 2
204
206
  }, /*#__PURE__*/ react.createElement(Input, {
207
+ size: "md",
205
208
  placeholder: "Search by name...",
206
209
  value: vm.list.search,
207
210
  onChange: (value)=>{
208
211
  presenter.search.set(value);
209
212
  }
210
- })), /*#__PURE__*/ react.createElement("div", {
211
- className: "w-[160px]"
213
+ })), /*#__PURE__*/ react.createElement(Grid.Column, {
214
+ span: 2
212
215
  }, /*#__PURE__*/ react.createElement(Select, {
216
+ size: "md",
213
217
  placeholder: "Status",
214
218
  options: STATUS_OPTIONS,
215
219
  value: vm.list.filters.taskStatus_in ?? "",
@@ -217,9 +221,10 @@ const TaskExecutionsView_TaskExecutionsViewInner = observer(function() {
217
221
  if (value) presenter.filter.set("taskStatus_in", value);
218
222
  else presenter.filter.clear("taskStatus_in");
219
223
  }
220
- })), vm.definitionOptions.length > 0 && /*#__PURE__*/ react.createElement("div", {
221
- className: "w-[200px]"
224
+ })), vm.definitionOptions.length > 0 ? /*#__PURE__*/ react.createElement(Grid.Column, {
225
+ span: 2
222
226
  }, /*#__PURE__*/ react.createElement(Select, {
227
+ size: "md",
223
228
  placeholder: "Definition",
224
229
  options: vm.definitionOptions,
225
230
  value: vm.list.filters.definitionId,
@@ -227,9 +232,10 @@ const TaskExecutionsView_TaskExecutionsViewInner = observer(function() {
227
232
  if (value) presenter.filter.set("definitionId", value);
228
233
  else presenter.filter.clear("definitionId");
229
234
  }
230
- })), /*#__PURE__*/ react.createElement("div", {
231
- className: "w-[240px]"
235
+ })) : null, /*#__PURE__*/ react.createElement(Grid.Column, {
236
+ span: 2
232
237
  }, /*#__PURE__*/ react.createElement(DatePicker, {
238
+ size: "md",
233
239
  type: "dateTimeTz",
234
240
  placeholder: "Created from",
235
241
  value: vm.list.filters.createdOn_gte,
@@ -237,9 +243,10 @@ const TaskExecutionsView_TaskExecutionsViewInner = observer(function() {
237
243
  if (value) presenter.filter.set("createdOn_gte", value);
238
244
  else presenter.filter.clear("createdOn_gte");
239
245
  }
240
- })), /*#__PURE__*/ react.createElement("div", {
241
- className: "w-[240px]"
246
+ })), /*#__PURE__*/ react.createElement(Grid.Column, {
247
+ span: 2
242
248
  }, /*#__PURE__*/ react.createElement(DatePicker, {
249
+ size: "md",
243
250
  type: "dateTimeTz",
244
251
  placeholder: "Created to",
245
252
  value: vm.list.filters.createdOn_lte,
@@ -247,24 +254,31 @@ const TaskExecutionsView_TaskExecutionsViewInner = observer(function() {
247
254
  if (value) presenter.filter.set("createdOn_lte", value);
248
255
  else presenter.filter.clear("createdOn_lte");
249
256
  }
250
- })), Object.keys(vm.list.filters).length > 0 && /*#__PURE__*/ react.createElement(Button, {
257
+ })), /*#__PURE__*/ react.createElement(Button, {
251
258
  variant: "tertiary",
252
- size: "sm",
253
- onClick: ()=>presenter.filter.clearAll()
254
- }, "Clear filters")), /*#__PURE__*/ react.createElement(Separator, null), /*#__PURE__*/ react.createElement("div", {
259
+ size: "md",
260
+ onClick: ()=>presenter.filter.clearAll(),
261
+ disabled: !hasFilters
262
+ }, "Clear filters"))), /*#__PURE__*/ react.createElement(Separator, null), /*#__PURE__*/ react.createElement("div", {
255
263
  className: "flex-1 overflow-hidden"
256
- }, vm.list.pagination.loading || 0 !== vm.list.rows.length ? /*#__PURE__*/ react.createElement(Scrollbar, {
264
+ }, vm.list.pagination.loading || vm.list.pagination.loadingMore || 0 !== vm.list.rows.length ? /*#__PURE__*/ react.createElement(Scrollbar, {
257
265
  onScrollFrame: (scrollFrame)=>loadMoreOnScroll({
258
266
  scrollFrame
259
267
  })
260
268
  }, /*#__PURE__*/ react.createElement(DataTable, {
261
269
  columns: columns,
262
270
  data: vm.list.rows,
263
- loading: vm.list.pagination.loading && 0 === vm.list.rows.length,
271
+ loading: vm.list.pagination.loading,
264
272
  sorting: sorting,
265
273
  onSortingChange: onSortingChange,
266
274
  stickyHeader: true
267
- })) : /*#__PURE__*/ react.createElement("div", {
275
+ }), vm.list.pagination.loadingMore ? /*#__PURE__*/ react.createElement("div", {
276
+ className: "flex flex-col gap-sm p-md"
277
+ }, /*#__PURE__*/ react.createElement(Skeleton, {
278
+ className: "h-8 w-full"
279
+ }), /*#__PURE__*/ react.createElement(Skeleton, {
280
+ className: "h-8 w-full"
281
+ })) : null) : /*#__PURE__*/ react.createElement("div", {
268
282
  className: "flex flex-col items-center justify-center h-full gap-md"
269
283
  }, /*#__PURE__*/ react.createElement(Text, {
270
284
  className: "text-neutral-strong"
@@ -274,11 +288,15 @@ const TaskExecutionsView_TaskExecutionsViewInner = observer(function() {
274
288
  onClose: ()=>presenter.selectTask(null),
275
289
  onAbort: async (id)=>{
276
290
  await presenter.abortTask(id);
277
- showSnackbar("Task aborted.");
291
+ toast.showSuccessToast({
292
+ title: "Task aborted."
293
+ });
278
294
  },
279
295
  onDelete: async (id)=>{
280
296
  await presenter.deleteTask(id);
281
- showSnackbar("Task deleted.");
297
+ toast.showSuccessToast({
298
+ title: "Task deleted."
299
+ });
282
300
  }
283
301
  }));
284
302
  });