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

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 (389) 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/TaskDetail/components/TaskDetailDrawer.js +6 -0
  53. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.js.map +1 -1
  54. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.d.ts +2 -0
  55. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js +3 -1
  56. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js.map +1 -1
  57. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.d.ts +2 -0
  58. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js +16 -0
  59. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js.map +1 -0
  60. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js +78 -40
  61. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js.map +1 -1
  62. package/admin/routes.d.ts +1 -0
  63. package/admin/routes.js +4 -0
  64. package/admin/routes.js.map +1 -1
  65. package/admin/shared/types.d.ts +3 -0
  66. package/api/context.d.ts +2 -0
  67. package/api/context.js +66 -0
  68. package/api/context.js.map +1 -0
  69. package/api/crud/TaskLogPrivateModel.d.ts +9 -0
  70. package/api/crud/TaskLogPrivateModel.js +40 -0
  71. package/api/crud/TaskLogPrivateModel.js.map +1 -0
  72. package/api/crud/TaskPrivateModel.d.ts +9 -0
  73. package/api/crud/TaskPrivateModel.js +55 -0
  74. package/api/crud/TaskPrivateModel.js.map +1 -0
  75. package/api/crud/cleanupTaskSubtree.d.ts +8 -0
  76. package/api/crud/cleanupTaskSubtree.js +62 -0
  77. package/api/crud/cleanupTaskSubtree.js.map +1 -0
  78. package/api/crud/crud.tasks.d.ts +2 -0
  79. package/api/crud/crud.tasks.js +318 -0
  80. package/api/crud/crud.tasks.js.map +1 -0
  81. package/api/crud/definition.tasks.d.ts +2 -0
  82. package/api/crud/definition.tasks.js +17 -0
  83. package/api/crud/definition.tasks.js.map +1 -0
  84. package/api/crud/service.tasks.d.ts +2 -0
  85. package/api/crud/service.tasks.js +130 -0
  86. package/api/crud/service.tasks.js.map +1 -0
  87. package/api/decorators/RunnableTaskDecorator.d.ts +32 -0
  88. package/api/decorators/RunnableTaskDecorator.js +69 -0
  89. package/api/decorators/RunnableTaskDecorator.js.map +1 -0
  90. package/api/decorators/SelfCleaningTaskDecorator.d.ts +30 -0
  91. package/api/decorators/SelfCleaningTaskDecorator.js +84 -0
  92. package/api/decorators/SelfCleaningTaskDecorator.js.map +1 -0
  93. package/api/domain/BackgroundTaskSettings.d.ts +3 -0
  94. package/api/domain/BackgroundTaskSettings.js +0 -0
  95. package/api/domain/constants.d.ts +3 -0
  96. package/api/domain/constants.js +6 -0
  97. package/api/domain/constants.js.map +1 -0
  98. package/api/domain/errors.d.ts +57 -0
  99. package/api/domain/errors.js +101 -0
  100. package/api/domain/errors.js.map +1 -0
  101. package/api/events/TaskAfterCreateEvent.d.ts +6 -0
  102. package/api/events/TaskAfterCreateEvent.js +13 -0
  103. package/api/events/TaskAfterCreateEvent.js.map +1 -0
  104. package/api/events/TaskAfterDeleteEvent.d.ts +6 -0
  105. package/api/events/TaskAfterDeleteEvent.js +13 -0
  106. package/api/events/TaskAfterDeleteEvent.js.map +1 -0
  107. package/api/events/TaskAfterUpdateEvent.d.ts +6 -0
  108. package/api/events/TaskAfterUpdateEvent.js +13 -0
  109. package/api/events/TaskAfterUpdateEvent.js.map +1 -0
  110. package/api/events/TaskBeforeCreateEvent.d.ts +6 -0
  111. package/api/events/TaskBeforeCreateEvent.js +13 -0
  112. package/api/events/TaskBeforeCreateEvent.js.map +1 -0
  113. package/api/events/TaskBeforeDeleteEvent.d.ts +6 -0
  114. package/api/events/TaskBeforeDeleteEvent.js +13 -0
  115. package/api/events/TaskBeforeDeleteEvent.js.map +1 -0
  116. package/api/events/TaskBeforeUpdateEvent.d.ts +6 -0
  117. package/api/events/TaskBeforeUpdateEvent.js +13 -0
  118. package/api/events/TaskBeforeUpdateEvent.js.map +1 -0
  119. package/api/events/abstractions.d.ts +53 -0
  120. package/api/events/abstractions.js +10 -0
  121. package/api/events/abstractions.js.map +1 -0
  122. package/api/events/index.d.ts +7 -0
  123. package/api/events/index.js +7 -0
  124. package/api/features/AbortTask/AbortTaskUseCase.d.ts +10 -0
  125. package/api/features/AbortTask/AbortTaskUseCase.js +12 -0
  126. package/api/features/AbortTask/AbortTaskUseCase.js.map +1 -0
  127. package/api/features/AbortTask/abstractions.d.ts +25 -0
  128. package/api/features/AbortTask/abstractions.js +5 -0
  129. package/api/features/AbortTask/abstractions.js.map +1 -0
  130. package/api/features/AbortTask/feature.d.ts +5 -0
  131. package/api/features/AbortTask/feature.js +12 -0
  132. package/api/features/AbortTask/feature.js.map +1 -0
  133. package/api/features/AbortTask/index.d.ts +2 -0
  134. package/api/features/AbortTask/index.js +2 -0
  135. package/api/features/BackgroundTaskPermissions/abstractions.d.ts +17 -0
  136. package/api/features/BackgroundTaskPermissions/abstractions.js +6 -0
  137. package/api/features/BackgroundTaskPermissions/abstractions.js.map +1 -0
  138. package/api/features/BackgroundTaskPermissions/feature.d.ts +4 -0
  139. package/api/features/BackgroundTaskPermissions/feature.js +7 -0
  140. package/api/features/BackgroundTaskPermissions/feature.js.map +1 -0
  141. package/api/features/BackgroundTaskPermissions/index.d.ts +2 -0
  142. package/api/features/BackgroundTaskPermissions/index.js +2 -0
  143. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.d.ts +7 -0
  144. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js +11 -0
  145. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js.map +1 -0
  146. package/api/features/CleanupTaskSubtree/abstractions.d.ts +7 -0
  147. package/api/features/CleanupTaskSubtree/abstractions.js +5 -0
  148. package/api/features/CleanupTaskSubtree/abstractions.js.map +1 -0
  149. package/api/features/CleanupTaskSubtree/index.d.ts +2 -0
  150. package/api/features/CleanupTaskSubtree/index.js +2 -0
  151. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.d.ts +21 -0
  152. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js +60 -0
  153. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js.map +1 -0
  154. package/api/features/GetBackgroundTaskSettings/abstractions.d.ts +13 -0
  155. package/api/features/GetBackgroundTaskSettings/abstractions.js +5 -0
  156. package/api/features/GetBackgroundTaskSettings/abstractions.js.map +1 -0
  157. package/api/features/GetBackgroundTaskSettings/feature.d.ts +4 -0
  158. package/api/features/GetBackgroundTaskSettings/feature.js +11 -0
  159. package/api/features/GetBackgroundTaskSettings/feature.js.map +1 -0
  160. package/api/features/GetBackgroundTaskSettings/index.d.ts +2 -0
  161. package/api/features/GetBackgroundTaskSettings/index.js +2 -0
  162. package/api/features/GetTask/GetTaskUseCase.d.ts +9 -0
  163. package/api/features/GetTask/GetTaskUseCase.js +11 -0
  164. package/api/features/GetTask/GetTaskUseCase.js.map +1 -0
  165. package/api/features/GetTask/abstractions.d.ts +10 -0
  166. package/api/features/GetTask/abstractions.js +5 -0
  167. package/api/features/GetTask/abstractions.js.map +1 -0
  168. package/api/features/GetTask/feature.d.ts +5 -0
  169. package/api/features/GetTask/feature.js +12 -0
  170. package/api/features/GetTask/feature.js.map +1 -0
  171. package/api/features/GetTask/index.d.ts +2 -0
  172. package/api/features/GetTask/index.js +2 -0
  173. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.d.ts +12 -0
  174. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.js +27 -0
  175. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.js.map +1 -0
  176. package/api/features/GetTaskDefinition/abstractions.d.ts +17 -0
  177. package/api/features/GetTaskDefinition/abstractions.js +5 -0
  178. package/api/features/GetTaskDefinition/abstractions.js.map +1 -0
  179. package/api/features/GetTaskDefinition/feature.d.ts +4 -0
  180. package/api/features/GetTaskDefinition/feature.js +11 -0
  181. package/api/features/GetTaskDefinition/feature.js.map +1 -0
  182. package/api/features/GetTaskDefinition/index.d.ts +2 -0
  183. package/api/features/GetTaskDefinition/index.js +2 -0
  184. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.d.ts +11 -0
  185. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js +24 -0
  186. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js.map +1 -0
  187. package/api/features/ListTaskDefinitions/abstractions.d.ts +9 -0
  188. package/api/features/ListTaskDefinitions/abstractions.js +5 -0
  189. package/api/features/ListTaskDefinitions/abstractions.js.map +1 -0
  190. package/api/features/ListTaskDefinitions/feature.d.ts +4 -0
  191. package/api/features/ListTaskDefinitions/feature.js +11 -0
  192. package/api/features/ListTaskDefinitions/feature.js.map +1 -0
  193. package/api/features/ListTaskDefinitions/index.d.ts +2 -0
  194. package/api/features/ListTaskDefinitions/index.js +2 -0
  195. package/api/features/ListTasks/ListTasksUseCase.d.ts +9 -0
  196. package/api/features/ListTasks/ListTasksUseCase.js +11 -0
  197. package/api/features/ListTasks/ListTasksUseCase.js.map +1 -0
  198. package/api/features/ListTasks/abstractions.d.ts +13 -0
  199. package/api/features/ListTasks/abstractions.js +5 -0
  200. package/api/features/ListTasks/abstractions.js.map +1 -0
  201. package/api/features/ListTasks/feature.d.ts +5 -0
  202. package/api/features/ListTasks/feature.js +12 -0
  203. package/api/features/ListTasks/feature.js.map +1 -0
  204. package/api/features/ListTasks/index.d.ts +2 -0
  205. package/api/features/ListTasks/index.js +2 -0
  206. package/api/features/TaskController/TaskController.d.ts +49 -0
  207. package/api/features/TaskController/TaskController.js +71 -0
  208. package/api/features/TaskController/TaskController.js.map +1 -0
  209. package/api/features/TaskController/augmentation.d.ts +60 -0
  210. package/api/features/TaskController/augmentation.js +0 -0
  211. package/api/features/TaskController/index.d.ts +2 -0
  212. package/api/features/TaskController/index.js +2 -0
  213. package/api/features/TaskExecutionContext/TaskExecutionContext.d.ts +24 -0
  214. package/api/features/TaskExecutionContext/TaskExecutionContext.js +43 -0
  215. package/api/features/TaskExecutionContext/TaskExecutionContext.js.map +1 -0
  216. package/api/features/TaskExecutionContext/abstractions.d.ts +26 -0
  217. package/api/features/TaskExecutionContext/abstractions.js +5 -0
  218. package/api/features/TaskExecutionContext/abstractions.js.map +1 -0
  219. package/api/features/TaskExecutionContext/feature.d.ts +4 -0
  220. package/api/features/TaskExecutionContext/feature.js +11 -0
  221. package/api/features/TaskExecutionContext/feature.js.map +1 -0
  222. package/api/features/TaskExecutionContext/index.d.ts +1 -0
  223. package/api/features/TaskExecutionContext/index.js +1 -0
  224. package/api/features/TriggerTask/TriggerTaskUseCase.d.ts +10 -0
  225. package/api/features/TriggerTask/TriggerTaskUseCase.js +12 -0
  226. package/api/features/TriggerTask/TriggerTaskUseCase.js.map +1 -0
  227. package/api/features/TriggerTask/abstractions.d.ts +28 -0
  228. package/api/features/TriggerTask/abstractions.js +5 -0
  229. package/api/features/TriggerTask/abstractions.js.map +1 -0
  230. package/api/features/TriggerTask/feature.d.ts +5 -0
  231. package/api/features/TriggerTask/feature.js +12 -0
  232. package/api/features/TriggerTask/feature.js.map +1 -0
  233. package/api/features/TriggerTask/index.d.ts +2 -0
  234. package/api/features/TriggerTask/index.js +2 -0
  235. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.d.ts +23 -0
  236. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js +64 -0
  237. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js.map +1 -0
  238. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +14 -0
  239. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +27 -0
  240. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  241. package/api/features/UpdateBackgroundTaskSettings/abstractions.d.ts +26 -0
  242. package/api/features/UpdateBackgroundTaskSettings/abstractions.js +6 -0
  243. package/api/features/UpdateBackgroundTaskSettings/abstractions.js.map +1 -0
  244. package/api/features/UpdateBackgroundTaskSettings/feature.d.ts +4 -0
  245. package/api/features/UpdateBackgroundTaskSettings/feature.js +13 -0
  246. package/api/features/UpdateBackgroundTaskSettings/feature.js.map +1 -0
  247. package/api/features/UpdateBackgroundTaskSettings/index.d.ts +2 -0
  248. package/api/features/UpdateBackgroundTaskSettings/index.js +2 -0
  249. package/api/features/UpdateBackgroundTaskSettings/schema.d.ts +4 -0
  250. package/api/features/UpdateBackgroundTaskSettings/schema.js +8 -0
  251. package/api/features/UpdateBackgroundTaskSettings/schema.js.map +1 -0
  252. package/api/global.d.ts +1 -0
  253. package/api/global.js +1 -0
  254. package/api/graphql/BackgroundTaskSettingsSchema.d.ts +2 -0
  255. package/api/graphql/BackgroundTaskSettingsSchema.js +84 -0
  256. package/api/graphql/BackgroundTaskSettingsSchema.js.map +1 -0
  257. package/api/graphql/checkPermissions.d.ts +7 -0
  258. package/api/graphql/checkPermissions.js +21 -0
  259. package/api/graphql/checkPermissions.js.map +1 -0
  260. package/api/graphql/index.d.ts +2 -0
  261. package/api/graphql/index.js +301 -0
  262. package/api/graphql/index.js.map +1 -0
  263. package/api/graphql/utils.d.ts +9 -0
  264. package/api/graphql/utils.js +20 -0
  265. package/api/graphql/utils.js.map +1 -0
  266. package/api/handler/index.d.ts +6 -0
  267. package/api/handler/index.js +55 -0
  268. package/api/handler/index.js.map +1 -0
  269. package/api/handler/register.d.ts +1 -0
  270. package/api/handler/register.js +15 -0
  271. package/api/handler/register.js.map +1 -0
  272. package/api/handler/types.d.ts +23 -0
  273. package/api/handler/types.js +0 -0
  274. package/api/index.d.ts +5 -0
  275. package/api/index.js +5 -0
  276. package/api/models/BackgroundTaskSettingsModel.d.ts +8 -0
  277. package/api/models/BackgroundTaskSettingsModel.js +27 -0
  278. package/api/models/BackgroundTaskSettingsModel.js.map +1 -0
  279. package/api/permissions.d.ts +12 -0
  280. package/api/permissions.js +22 -0
  281. package/api/permissions.js.map +1 -0
  282. package/api/plugins/TaskServicePlugin.d.ts +19 -0
  283. package/api/plugins/TaskServicePlugin.js +13 -0
  284. package/api/plugins/TaskServicePlugin.js.map +1 -0
  285. package/api/plugins/index.d.ts +1 -0
  286. package/api/plugins/index.js +1 -0
  287. package/api/response/DatabaseResponse.d.ts +12 -0
  288. package/api/response/DatabaseResponse.js +127 -0
  289. package/api/response/DatabaseResponse.js.map +1 -0
  290. package/api/response/Response.d.ts +14 -0
  291. package/api/response/Response.js +91 -0
  292. package/api/response/Response.js.map +1 -0
  293. package/api/response/ResponseAbortedResult.d.ts +9 -0
  294. package/api/response/ResponseAbortedResult.js +12 -0
  295. package/api/response/ResponseAbortedResult.js.map +1 -0
  296. package/api/response/ResponseContinueResult.d.ts +17 -0
  297. package/api/response/ResponseContinueResult.js +16 -0
  298. package/api/response/ResponseContinueResult.js.map +1 -0
  299. package/api/response/ResponseDoneResult.d.ts +11 -0
  300. package/api/response/ResponseDoneResult.js +14 -0
  301. package/api/response/ResponseDoneResult.js.map +1 -0
  302. package/api/response/ResponseErrorResult.d.ts +10 -0
  303. package/api/response/ResponseErrorResult.js +13 -0
  304. package/api/response/ResponseErrorResult.js.map +1 -0
  305. package/api/response/TaskResponse.d.ts +12 -0
  306. package/api/response/TaskResponse.js +53 -0
  307. package/api/response/TaskResponse.js.map +1 -0
  308. package/api/response/abstractions/Response.d.ts +25 -0
  309. package/api/response/abstractions/Response.js +0 -0
  310. package/api/response/abstractions/ResponseAbortedResult.d.ts +5 -0
  311. package/api/response/abstractions/ResponseAbortedResult.js +0 -0
  312. package/api/response/abstractions/ResponseBaseResult.d.ts +7 -0
  313. package/api/response/abstractions/ResponseBaseResult.js +0 -0
  314. package/api/response/abstractions/ResponseContinueResult.d.ts +21 -0
  315. package/api/response/abstractions/ResponseContinueResult.js +0 -0
  316. package/api/response/abstractions/ResponseDoneResult.d.ts +13 -0
  317. package/api/response/abstractions/ResponseDoneResult.js +0 -0
  318. package/api/response/abstractions/ResponseErrorResult.d.ts +18 -0
  319. package/api/response/abstractions/ResponseErrorResult.js +0 -0
  320. package/api/response/abstractions/TaskResponse.d.ts +16 -0
  321. package/api/response/abstractions/TaskResponse.js +0 -0
  322. package/api/response/abstractions/index.d.ts +7 -0
  323. package/api/response/abstractions/index.js +7 -0
  324. package/api/response/index.d.ts +7 -0
  325. package/api/response/index.js +7 -0
  326. package/api/runner/TaskControl.d.ts +14 -0
  327. package/api/runner/TaskControl.js +173 -0
  328. package/api/runner/TaskControl.js.map +1 -0
  329. package/api/runner/TaskEventValidation.d.ts +5 -0
  330. package/api/runner/TaskEventValidation.js +20 -0
  331. package/api/runner/TaskEventValidation.js.map +1 -0
  332. package/api/runner/TaskManager.d.ts +11 -0
  333. package/api/runner/TaskManager.js +81 -0
  334. package/api/runner/TaskManager.js.map +1 -0
  335. package/api/runner/TaskManagerStore.d.ts +40 -0
  336. package/api/runner/TaskManagerStore.js +109 -0
  337. package/api/runner/TaskManagerStore.js.map +1 -0
  338. package/api/runner/TaskRunner.d.ts +25 -0
  339. package/api/runner/TaskRunner.js +55 -0
  340. package/api/runner/TaskRunner.js.map +1 -0
  341. package/api/runner/abstractions/TaskControl.d.ts +10 -0
  342. package/api/runner/abstractions/TaskControl.js +0 -0
  343. package/api/runner/abstractions/TaskEventValidation.d.ts +5 -0
  344. package/api/runner/abstractions/TaskEventValidation.js +0 -0
  345. package/api/runner/abstractions/TaskManager.d.ts +5 -0
  346. package/api/runner/abstractions/TaskManager.js +0 -0
  347. package/api/runner/abstractions/TaskManagerStore.d.ts +92 -0
  348. package/api/runner/abstractions/TaskManagerStore.js +0 -0
  349. package/api/runner/abstractions/TaskRunner.d.ts +13 -0
  350. package/api/runner/abstractions/TaskRunner.js +0 -0
  351. package/api/runner/abstractions/index.d.ts +5 -0
  352. package/api/runner/abstractions/index.js +5 -0
  353. package/api/runner/index.d.ts +1 -0
  354. package/api/runner/index.js +1 -0
  355. package/api/service/EventBridgeEventTransportPlugin.d.ts +16 -0
  356. package/api/service/EventBridgeEventTransportPlugin.js +52 -0
  357. package/api/service/EventBridgeEventTransportPlugin.js.map +1 -0
  358. package/api/service/StepFunctionServicePlugin.d.ts +25 -0
  359. package/api/service/StepFunctionServicePlugin.js +77 -0
  360. package/api/service/StepFunctionServicePlugin.js.map +1 -0
  361. package/api/service/createService.d.ts +6 -0
  362. package/api/service/createService.js +16 -0
  363. package/api/service/createService.js.map +1 -0
  364. package/api/service/index.d.ts +4 -0
  365. package/api/service/index.js +12 -0
  366. package/api/service/index.js.map +1 -0
  367. package/api/tasks/testingRunTask.d.ts +11 -0
  368. package/api/tasks/testingRunTask.js +18 -0
  369. package/api/tasks/testingRunTask.js.map +1 -0
  370. package/api/types.d.ts +167 -0
  371. package/api/types.js +20 -0
  372. package/api/types.js.map +1 -0
  373. package/api/utils/ObjectUpdater.d.ts +8 -0
  374. package/api/utils/ObjectUpdater.js +33 -0
  375. package/api/utils/ObjectUpdater.js.map +1 -0
  376. package/api/utils/getErrorProperties.d.ts +2 -0
  377. package/api/utils/getErrorProperties.js +9 -0
  378. package/api/utils/getErrorProperties.js.map +1 -0
  379. package/api/utils/getObjectProperties.d.ts +8 -0
  380. package/api/utils/getObjectProperties.js +11 -0
  381. package/api/utils/getObjectProperties.js.map +1 -0
  382. package/api/utils/index.d.ts +3 -0
  383. package/api/utils/index.js +3 -0
  384. package/api/utils/normalizeSelfCleanup.d.ts +2 -0
  385. package/api/utils/normalizeSelfCleanup.js +16 -0
  386. package/api/utils/normalizeSelfCleanup.js.map +1 -0
  387. package/index.d.ts +1 -0
  388. package/index.js +1 -0
  389. package/package.json +29 -12
@@ -0,0 +1,301 @@
1
+ import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
2
+ import { renderSortEnum } from "@webiny/api-headless-cms/utils/renderSortEnum.js";
3
+ import { ContextPlugin } from "@webiny/handler";
4
+ import { renderListFilterFields } from "@webiny/api-headless-cms/utils/renderListFilterFields.js";
5
+ import { emptyResolver, resolve, resolveList } from "./utils.js";
6
+ import { renderFields } from "@webiny/api-headless-cms/utils/renderFields.js";
7
+ import { checkPermissions } from "./checkPermissions.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
+ const createGraphQL = ()=>{
11
+ const plugin = new ContextPlugin(async (ctx)=>{
12
+ if (!ctx.tenancy.getCurrentTenant()) return;
13
+ const taskModel = await ctx.tasks.getTaskModel();
14
+ const logModel = await ctx.tasks.getLogModel();
15
+ const listModels = ctx.container.resolve(ListModelsUseCase);
16
+ const fieldRegistry = ctx.container.resolve(CmsModelFieldToGraphQLRegistry);
17
+ const modelsResult = await ctx.security.withoutAuthorization(async ()=>await listModels.execute({
18
+ includePrivate: false
19
+ }));
20
+ if (modelsResult.isFail()) throw modelsResult.error;
21
+ const models = modelsResult.value.filter((model)=>model.fields.length > 0);
22
+ const taskFields = renderFields({
23
+ models,
24
+ model: taskModel,
25
+ fields: taskModel.fields,
26
+ type: "manage",
27
+ fieldRegistry
28
+ });
29
+ const logFields = renderFields({
30
+ models,
31
+ model: logModel,
32
+ fields: logModel.fields.filter((field)=>"task" !== field.fieldId),
33
+ type: "manage",
34
+ fieldRegistry
35
+ });
36
+ const listTasksFilterFieldsRender = renderListFilterFields({
37
+ model: taskModel,
38
+ fields: taskModel.fields,
39
+ type: "manage",
40
+ fieldRegistry,
41
+ excludeFields: [
42
+ "entryId"
43
+ ]
44
+ });
45
+ const listLogsFilterFieldsRender = renderListFilterFields({
46
+ model: logModel,
47
+ fields: logModel.fields,
48
+ type: "manage",
49
+ fieldRegistry,
50
+ excludeFields: [
51
+ "entryId"
52
+ ]
53
+ });
54
+ const sortTasksEnumRender = renderSortEnum({
55
+ model: taskModel,
56
+ fields: taskModel.fields,
57
+ fieldRegistry,
58
+ sorters: []
59
+ });
60
+ const sortLogsEnumRender = renderSortEnum({
61
+ model: logModel,
62
+ fields: logModel.fields,
63
+ fieldRegistry,
64
+ sorters: []
65
+ });
66
+ const plugin = new GraphQLSchemaPlugin({
67
+ typeDefs: `
68
+ type WebinyBackgroundTaskError {
69
+ message: String
70
+ code: String
71
+ data: JSON
72
+ stack: String
73
+ }
74
+
75
+ ${taskFields.map((f)=>f.typeDefs).join("\n")}
76
+ ${logFields.map((f)=>f.typeDefs).join("\n")}
77
+
78
+ type WebinyBackgroundTask {
79
+ id: String!
80
+ createdOn: DateTime!
81
+ savedOn: DateTime
82
+ createdBy: WebinyBackgroundTaskIdentity!
83
+ logs(
84
+ where: WebinyBackgroundTaskLogListWhereInput
85
+ limit: Number
86
+ sort: [WebinyBackgroundTaskLogListSorter!]
87
+ ): [WebinyBackgroundTaskLog!]!
88
+ ${taskFields.map((f)=>f.fields).join("\n")}
89
+ }
90
+
91
+ type WebinyBackgroundTaskResponse {
92
+ data: WebinyBackgroundTask
93
+ error: WebinyBackgroundTaskError
94
+ }
95
+
96
+ type WebinyBackgroundTaskMeta {
97
+ cursor: String
98
+ hasMoreItems: Boolean!
99
+ totalCount: Int!
100
+ }
101
+
102
+ type WebinyBackgroundTaskListResponse {
103
+ data: [WebinyBackgroundTask!]
104
+ meta: WebinyBackgroundTaskMeta
105
+ error: WebinyBackgroundTaskError
106
+ }
107
+
108
+ type WebinyBackgroundTaskLog {
109
+ id: String!
110
+ createdOn: DateTime!
111
+ createdBy: WebinyBackgroundTaskIdentity!
112
+ task: WebinyBackgroundTask!
113
+ ${logFields.map((f)=>f.fields).join("\n")}
114
+ }
115
+
116
+ type WebinyBackgroundTaskLogListResponse {
117
+ data: [WebinyBackgroundTaskLog!]
118
+ meta: WebinyBackgroundTaskMeta
119
+ error: WebinyBackgroundTaskError
120
+ }
121
+
122
+ type WebinyBackgroundTaskDefinition {
123
+ id: String!
124
+ title: String!
125
+ description: String
126
+ }
127
+
128
+ type WebinyBackgroundTaskListDefinitionsResponse {
129
+ data: [WebinyBackgroundTaskDefinition!]
130
+ error: WebinyBackgroundTaskError
131
+ }
132
+
133
+ type WebinyBackgroundTaskIdentity {
134
+ id: String!
135
+ displayName: String!
136
+ type: String
137
+ }
138
+
139
+ type WebinyBackgroundTaskTriggerResponse {
140
+ data: WebinyBackgroundTask
141
+ error: WebinyBackgroundTaskError
142
+ }
143
+
144
+ type WebinyBackgroundTaskDeleteResponse {
145
+ data: Boolean
146
+ error: WebinyBackgroundTaskError
147
+ }
148
+
149
+ input WebinyBackgroundTaskListWhereInput {
150
+ ${listTasksFilterFieldsRender.allFiltersAsString() || "_empty: String"}
151
+ }
152
+
153
+ input WebinyBackgroundTaskLogListWhereInput {
154
+ ${listLogsFilterFieldsRender.allFiltersAsString() || "_empty: String"}
155
+ }
156
+
157
+ enum WebinyBackgroundTaskListSorter {
158
+ ${sortTasksEnumRender}
159
+ }
160
+
161
+ enum WebinyBackgroundTaskLogListSorter {
162
+ ${sortLogsEnumRender}
163
+ }
164
+
165
+ type WebinyBackgroundTaskQuery {
166
+ _empty: String
167
+ }
168
+
169
+ type WebinyBackgroundTaskMutation {
170
+ _empty: String
171
+ }
172
+
173
+ extend type Query {
174
+ backgroundTasks: WebinyBackgroundTaskQuery
175
+ }
176
+
177
+ extend type Mutation {
178
+ backgroundTasks: WebinyBackgroundTaskMutation
179
+ }
180
+
181
+ extend type WebinyBackgroundTaskQuery {
182
+ getTask(id: ID!): WebinyBackgroundTaskResponse!
183
+ listTasks(
184
+ where: WebinyBackgroundTaskListWhereInput
185
+ sort: [WebinyBackgroundTaskListSorter!]
186
+ limit: Int
187
+ after: String
188
+ search: String
189
+ ): WebinyBackgroundTaskListResponse!
190
+ listDefinitions: WebinyBackgroundTaskListDefinitionsResponse!
191
+
192
+ listLogs(
193
+ where: WebinyBackgroundTaskLogListWhereInput
194
+ sort: [WebinyBackgroundTaskLogListSorter!]
195
+ limit: Int
196
+ after: String
197
+ search: String
198
+ ): WebinyBackgroundTaskLogListResponse!
199
+ }
200
+
201
+ extend type WebinyBackgroundTaskMutation {
202
+ triggerTask(definition: String!, input: JSON, name: String, delay: Number): WebinyBackgroundTaskTriggerResponse!
203
+ abortTask(id: ID!, message: String): WebinyBackgroundTaskResponse!
204
+ deleteTask(id: ID!): WebinyBackgroundTaskDeleteResponse!
205
+ }
206
+ `,
207
+ resolvers: {
208
+ Query: {
209
+ backgroundTasks: emptyResolver
210
+ },
211
+ Mutation: {
212
+ backgroundTasks: emptyResolver
213
+ },
214
+ WebinyBackgroundTaskQuery: {
215
+ getTask: async (_, args, context)=>resolve(async ()=>{
216
+ await checkPermissions(context, {
217
+ rwd: "r"
218
+ });
219
+ return await context.tasks.getTask(args.id);
220
+ }),
221
+ listTasks: async (_, args, context)=>resolveList(async ()=>{
222
+ await checkPermissions(context, {
223
+ rwd: "r"
224
+ });
225
+ return await context.tasks.listTasks(args);
226
+ }),
227
+ listDefinitions: async (_, __, context)=>resolve(async ()=>{
228
+ await checkPermissions(context, {
229
+ rwd: "r"
230
+ });
231
+ const result = context.tasks.listDefinitions();
232
+ return result.filter((item)=>!item.isPrivate);
233
+ }),
234
+ listLogs: async (_, args, context)=>resolveList(async ()=>{
235
+ await checkPermissions(context, {
236
+ rwd: "r"
237
+ });
238
+ return await context.tasks.listLogs(args);
239
+ })
240
+ },
241
+ WebinyBackgroundTaskMutation: {
242
+ abortTask: async (_, args, context)=>{
243
+ await checkPermissions(context, {
244
+ rwd: "w"
245
+ });
246
+ return resolve(async ()=>{
247
+ const result = await context.tasks.abort(args);
248
+ if (result.isOk()) return result.value;
249
+ throw result.error;
250
+ });
251
+ },
252
+ triggerTask: async (_, args, context)=>{
253
+ await checkPermissions(context, {
254
+ rwd: "w"
255
+ });
256
+ return resolve(async ()=>{
257
+ const result = await context.tasks.trigger(args);
258
+ if (result.isOk()) return result.value;
259
+ throw result.error;
260
+ });
261
+ },
262
+ deleteTask: async (_, args, context)=>{
263
+ await checkPermissions(context, {
264
+ rwd: "d"
265
+ });
266
+ return resolve(async ()=>await context.tasks.deleteTask(args.id));
267
+ }
268
+ },
269
+ WebinyBackgroundTask: {
270
+ logs: async (parent, args, context)=>{
271
+ const { items } = await context.tasks.listLogs({
272
+ sort: [
273
+ "createdBy_ASC"
274
+ ],
275
+ limit: 10000,
276
+ ...args,
277
+ where: {
278
+ ...args?.where,
279
+ task: parent.id
280
+ }
281
+ });
282
+ return items;
283
+ }
284
+ },
285
+ WebinyBackgroundTaskLog: {
286
+ task: async (parent, _, context)=>await context.tasks.getTask(parent.task)
287
+ }
288
+ }
289
+ });
290
+ plugin.name = "tasks.graphql.schema";
291
+ ctx.plugins.register(plugin);
292
+ });
293
+ plugin.name = "tasks.graphql";
294
+ return plugin;
295
+ };
296
+ const createBackgroundTaskGraphQL = ()=>[
297
+ createGraphQL()
298
+ ];
299
+ export { createBackgroundTaskGraphQL };
300
+
301
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/graphql/index.js","sources":["../../../src/api/graphql/index.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { renderSortEnum } from \"@webiny/api-headless-cms/utils/renderSortEnum.js\";\nimport { ContextPlugin } from \"@webiny/handler\";\nimport type { Context, IListTaskLogParams, IListTaskParams, ITask, ITaskLog } from \"~/api/types.js\";\nimport { renderListFilterFields } from \"@webiny/api-headless-cms/utils/renderListFilterFields.js\";\nimport { emptyResolver, resolve, resolveList } from \"./utils.js\";\nimport { renderFields } from \"@webiny/api-headless-cms/utils/renderFields.js\";\nimport { checkPermissions } from \"./checkPermissions.js\";\nimport type { Plugin } from \"@webiny/plugins/types.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\";\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\nconst createGraphQL = () => {\n const plugin = new ContextPlugin<Context>(async ctx => {\n if (!ctx.tenancy.getCurrentTenant()) {\n return;\n }\n\n const taskModel = await ctx.tasks.getTaskModel();\n const logModel = await ctx.tasks.getLogModel();\n\n const listModels = ctx.container.resolve(ListModelsUseCase);\n const fieldRegistry = ctx.container.resolve(CmsModelFieldToGraphQLRegistry);\n\n const modelsResult = await ctx.security.withoutAuthorization(async () => {\n return await listModels.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 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 const plugin = new GraphQLSchemaPlugin<Context>({\n typeDefs: /* 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 resolvers: {\n Query: {\n backgroundTasks: emptyResolver\n },\n Mutation: {\n backgroundTasks: emptyResolver\n },\n WebinyBackgroundTaskQuery: {\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n getTask: async (_, args: IGetTaskQueryParams, context) => {\n return resolve(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.getTask(args.id);\n });\n },\n listTasks: async (_, args: IListTaskParams, context) => {\n return resolveList(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.listTasks(args);\n });\n },\n listDefinitions: async (_, __, context) => {\n return resolve(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n const result = context.tasks.listDefinitions();\n /**\n * Do not output private tasks.\n */\n return result.filter(item => {\n return !item.isPrivate;\n });\n });\n },\n listLogs: async (_, args: IListTaskLogParams, context) => {\n return resolveList(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.listLogs(args);\n });\n }\n },\n WebinyBackgroundTaskMutation: {\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n abortTask: async (_, args: IAbortTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"w\"\n });\n return resolve<ITask>(async () => {\n const result = await context.tasks.abort(args);\n if (result.isOk()) {\n return result.value;\n }\n\n throw result.error;\n });\n },\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n triggerTask: async (_, args: ITriggerTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"w\"\n });\n return resolve<ITask>(async () => {\n const result = await context.tasks.trigger(args);\n if (result.isOk()) {\n return result.value;\n }\n\n throw result.error;\n });\n },\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n deleteTask: async (_, args: IDeleteTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"d\"\n });\n return resolve(async () => {\n return await context.tasks.deleteTask(args.id);\n });\n }\n },\n /**\n * Custom resolvers for fields\n */\n WebinyBackgroundTask: {\n logs: async (parent: ITask, args: IListTaskLogParams, context) => {\n const { items } = await context.tasks.listLogs({\n sort: [\"createdBy_ASC\"],\n limit: 10000,\n ...args,\n where: {\n ...args?.where,\n task: parent.id\n }\n });\n return items;\n }\n },\n WebinyBackgroundTaskLog: {\n task: async (parent: ITaskLog, _, context) => {\n return await context.tasks.getTask(parent.task);\n }\n }\n }\n });\n\n plugin.name = \"tasks.graphql.schema\";\n\n ctx.plugins.register(plugin);\n });\n\n plugin.name = \"tasks.graphql\";\n\n return plugin;\n};\n\nexport const createBackgroundTaskGraphQL = (): Plugin[] => {\n return [createGraphQL()];\n};\n"],"names":["createGraphQL","plugin","ContextPlugin","ctx","taskModel","logModel","listModels","ListModelsUseCase","fieldRegistry","CmsModelFieldToGraphQLRegistry","modelsResult","models","model","taskFields","renderFields","logFields","field","listTasksFilterFieldsRender","renderListFilterFields","listLogsFilterFieldsRender","sortTasksEnumRender","renderSortEnum","sortLogsEnumRender","GraphQLSchemaPlugin","f","emptyResolver","_","args","context","resolve","checkPermissions","resolveList","__","result","item","parent","items","createBackgroundTaskGraphQL"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ErrorResponse, ListErrorResponse, ListResponse, Response } from "@webiny/handler-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/handler-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/handler-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,6 @@
1
+ import type { APIGatewayProxyResult, Context as LambdaContext } from "@webiny/aws-sdk/types/index.js";
2
+ import type { HandlerParams, ITaskRawEvent } from "../../api/handler/types.js";
3
+ export interface HandlerCallable {
4
+ (event: ITaskRawEvent, context: LambdaContext): Promise<APIGatewayProxyResult>;
5
+ }
6
+ export declare const createHandler: (params: HandlerParams) => HandlerCallable;
@@ -0,0 +1,55 @@
1
+ import { createHandler } from "@webiny/handler";
2
+ import { registerDefaultPlugins } from "@webiny/handler-aws/plugins/index.js";
3
+ import { execute } from "@webiny/handler-aws/execute.js";
4
+ import { TaskRunner } from "../runner/index.js";
5
+ import { timerFactory } from "@webiny/handler-aws/utils/index.js";
6
+ import { TaskEventValidation } from "../runner/TaskEventValidation.js";
7
+ import { TaskResultStatus } from "@webiny/api-core/features/task/TaskDefinition/index.js";
8
+ const url = "/webiny-background-task-event";
9
+ const handler_createHandler = (params)=>async (event, context)=>{
10
+ const app = createHandler({
11
+ ...params,
12
+ options: {
13
+ logger: true === params.debug,
14
+ ...params.options || {}
15
+ }
16
+ });
17
+ registerDefaultPlugins(app.webiny);
18
+ app.addHook("preSerialization", async (_, __, payload)=>{
19
+ if (!payload.body) return payload;
20
+ return payload.body;
21
+ });
22
+ await app.register(async (taskApp)=>{
23
+ taskApp.setErrorHandler(async (error, _, reply)=>{
24
+ app.__webiny_raw_result = {
25
+ error: {
26
+ message: error.message,
27
+ code: error.code,
28
+ data: error.data
29
+ },
30
+ status: TaskResultStatus.ERROR
31
+ };
32
+ return reply.send();
33
+ });
34
+ taskApp.post(url, async (_, reply)=>{
35
+ const handler = new TaskRunner(app.webiny, timerFactory(context), new TaskEventValidation());
36
+ app.__webiny_raw_result = await handler.run(event);
37
+ return reply.send({});
38
+ });
39
+ });
40
+ return execute({
41
+ app,
42
+ url: url,
43
+ payload: {
44
+ ...event,
45
+ headers: {
46
+ ["x-tenant"]: event.tenant,
47
+ ["x-webiny-cms-endpoint"]: event.endpoint,
48
+ ["accept-language"]: "en-US"
49
+ }
50
+ }
51
+ });
52
+ };
53
+ export { handler_createHandler as createHandler };
54
+
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/handler/index.js","sources":["../../../src/api/handler/index.ts"],"sourcesContent":["import { createHandler as createBaseHandler } from \"@webiny/handler\";\nimport { registerDefaultPlugins } from \"@webiny/handler-aws/plugins/index.js\";\nimport { execute } from \"@webiny/handler-aws/execute.js\";\nimport type {\n APIGatewayProxyResult,\n Context as LambdaContext\n} from \"@webiny/aws-sdk/types/index.js\";\nimport type { Context } from \"~/api/types.js\";\nimport type { HandlerParams, ITaskRawEvent } from \"~/api/handler/types.js\";\nimport { TaskRunner } from \"~/api/runner/index.js\";\nimport type WebinyError from \"@webiny/error\";\nimport { timerFactory } from \"@webiny/handler-aws/utils/index.js\";\nimport { TaskEventValidation } from \"~/api/runner/TaskEventValidation.js\";\nimport { TaskResultStatus } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\n\nexport interface HandlerCallable {\n (event: ITaskRawEvent, context: LambdaContext): Promise<APIGatewayProxyResult>;\n}\n\nconst url = \"/webiny-background-task-event\";\n\nexport const createHandler = (params: HandlerParams): HandlerCallable => {\n return async (event, context) => {\n const app = createBaseHandler({\n ...params,\n options: {\n logger: params.debug === true,\n ...(params.options || {})\n }\n });\n\n registerDefaultPlugins(app.webiny);\n\n app.addHook(\"preSerialization\", async (_, __, payload: Record<string, any>) => {\n if (!payload.body) {\n return payload;\n }\n return payload.body;\n });\n\n await app.register(async taskApp => {\n taskApp.setErrorHandler<WebinyError>(async (error, _, reply) => {\n app.__webiny_raw_result = {\n error: {\n message: error.message,\n code: error.code,\n data: error.data\n },\n status: TaskResultStatus.ERROR\n };\n return reply.send();\n });\n\n taskApp.post(url, async (_, reply) => {\n const handler = new TaskRunner(\n /**\n * We can safely cast because we know that the context is of type tasks/Context\n */\n app.webiny as Context,\n timerFactory(context),\n new TaskEventValidation()\n );\n\n app.__webiny_raw_result = await handler.run(event);\n return reply.send({});\n });\n });\n\n return execute({\n app,\n url,\n payload: {\n ...event,\n headers: {\n [\"x-tenant\"]: event.tenant,\n [\"x-webiny-cms-endpoint\"]: event.endpoint,\n [\"accept-language\"]: \"en-US\"\n }\n }\n });\n };\n};\n"],"names":["url","createHandler","params","event","context","app","createBaseHandler","registerDefaultPlugins","_","__","payload","taskApp","error","reply","TaskResultStatus","handler","TaskRunner","timerFactory","TaskEventValidation","execute"],"mappings":";;;;;;;AAmBA,MAAMA,MAAM;AAEL,MAAMC,wBAAgB,CAACC,SACnB,OAAOC,OAAOC;QACjB,MAAMC,MAAMC,cAAkB;YAC1B,GAAGJ,MAAM;YACT,SAAS;gBACL,QAAQA,AAAiB,SAAjBA,OAAO,KAAK;gBACpB,GAAIA,OAAO,OAAO,IAAI,CAAC,CAAC;YAC5B;QACJ;QAEAK,uBAAuBF,IAAI,MAAM;QAEjCA,IAAI,OAAO,CAAC,oBAAoB,OAAOG,GAAGC,IAAIC;YAC1C,IAAI,CAACA,QAAQ,IAAI,EACb,OAAOA;YAEX,OAAOA,QAAQ,IAAI;QACvB;QAEA,MAAML,IAAI,QAAQ,CAAC,OAAMM;YACrBA,QAAQ,eAAe,CAAc,OAAOC,OAAOJ,GAAGK;gBAClDR,IAAI,mBAAmB,GAAG;oBACtB,OAAO;wBACH,SAASO,MAAM,OAAO;wBACtB,MAAMA,MAAM,IAAI;wBAChB,MAAMA,MAAM,IAAI;oBACpB;oBACA,QAAQE,iBAAiB,KAAK;gBAClC;gBACA,OAAOD,MAAM,IAAI;YACrB;YAEAF,QAAQ,IAAI,CAACX,KAAK,OAAOQ,GAAGK;gBACxB,MAAME,UAAU,IAAIC,WAIhBX,IAAI,MAAM,EACVY,aAAab,UACb,IAAIc;gBAGRb,IAAI,mBAAmB,GAAG,MAAMU,QAAQ,GAAG,CAACZ;gBAC5C,OAAOU,MAAM,IAAI,CAAC,CAAC;YACvB;QACJ;QAEA,OAAOM,QAAQ;YACXd;YACAL,KAAAA;YACA,SAAS;gBACL,GAAGG,KAAK;gBACR,SAAS;oBACL,CAAC,WAAW,EAAEA,MAAM,MAAM;oBAC1B,CAAC,wBAAwB,EAAEA,MAAM,QAAQ;oBACzC,CAAC,kBAAkB,EAAE;gBACzB;YACJ;QACJ;IACJ"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import { registry } from "@webiny/handler-aws/registry.js";
2
+ import { createSourceHandler } from "@webiny/handler-aws";
3
+ const handler = createSourceHandler({
4
+ name: "handler-webiny-background-task",
5
+ canUse: (event)=>!!event.payload?.webinyTaskId,
6
+ handle: async ({ params, event, context })=>{
7
+ const { createHandler } = await import("./index.js");
8
+ return createHandler(params)(event.payload, context);
9
+ }
10
+ });
11
+ registry.register(handler, {
12
+ silent: true
13
+ });
14
+
15
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/handler/register.js","sources":["../../../src/api/handler/register.ts"],"sourcesContent":["import { registry } from \"@webiny/handler-aws/registry.js\";\nimport { createSourceHandler } from \"@webiny/handler-aws\";\nimport type { HandlerParams, IIncomingEvent, ITaskEvent } from \"./types.js\";\n\nconst handler = createSourceHandler<IIncomingEvent<ITaskEvent>, HandlerParams>({\n name: \"handler-webiny-background-task\",\n canUse: event => {\n return !!event.payload?.webinyTaskId;\n },\n handle: async ({ params, event, context }) => {\n const { createHandler } = await import(\n /* webpackChunkName: \"tasks.handler.createHandler\" */\n \"./index.js\"\n );\n return createHandler(params)(event.payload, context);\n }\n});\n\nregistry.register(handler, {\n silent: true\n});\n"],"names":["handler","createSourceHandler","event","params","context","createHandler","registry"],"mappings":";;AAIA,MAAMA,UAAUC,oBAA+D;IAC3E,MAAM;IACN,QAAQC,CAAAA,QACG,CAAC,CAACA,MAAM,OAAO,EAAE;IAE5B,QAAQ,OAAO,EAAEC,MAAM,EAAED,KAAK,EAAEE,OAAO,EAAE;QACrC,MAAM,EAAEC,aAAa,EAAE,GAAG,MAAM,MAAM,CAAN;QAIhC,OAAOA,cAAcF,QAAQD,MAAM,OAAO,EAAEE;IAChD;AACJ;AAEAE,SAAS,QAAQ,CAACN,SAAS;IACvB,QAAQ;AACZ"}
@@ -0,0 +1,23 @@
1
+ import type { HandlerFactoryParams } from "@webiny/handler-aws/types.js";
2
+ export type HandlerParams = HandlerFactoryParams;
3
+ export interface IIncomingEvent<TEvent> {
4
+ name: string;
5
+ payload: TEvent;
6
+ }
7
+ export interface ITaskEventInput {
8
+ tenant: string;
9
+ webinyTaskId: string;
10
+ webinyTaskDefinitionId: string;
11
+ delay?: number;
12
+ }
13
+ export interface ITaskEvent {
14
+ tenant: string;
15
+ endpoint: string;
16
+ webinyTaskId: string;
17
+ webinyTaskDefinitionId: string;
18
+ executionName: string;
19
+ stateMachineId: string;
20
+ }
21
+ export interface ITaskRawEvent extends ITaskEvent {
22
+ delay?: number;
23
+ }
File without changes
package/api/index.d.ts CHANGED
@@ -0,0 +1,5 @@
1
+ import "./handler/register.js";
2
+ export { createBackgroundTaskGraphQL } from "./graphql/index.js";
3
+ export { createBackgroundTaskContext } from "./context.js";
4
+ export * from "./response/index.js";
5
+ export * from "./types.js";
package/api/index.js CHANGED
@@ -0,0 +1,5 @@
1
+ import "./handler/register.js";
2
+ export * from "./response/index.js";
3
+ export * from "./types.js";
4
+ export { createBackgroundTaskGraphQL } from "./graphql/index.js";
5
+ export { createBackgroundTaskContext } from "./context.js";
@@ -0,0 +1,8 @@
1
+ import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
+ declare class BackgroundTaskSettingsModelFactory implements ModelFactory.Interface {
3
+ execute(builder: ModelFactory.Builder): Promise<import("@webiny/api-headless-cms/features/modelBuilder/index.js").PublicModelBuilder[]>;
4
+ }
5
+ export declare const BackgroundTaskSettingsModel: typeof BackgroundTaskSettingsModelFactory & {
6
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-headless-cms/features/modelBuilder/abstractions").IModelFactory>;
7
+ };
8
+ export {};
@@ -0,0 +1,27 @@
1
+ import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
+ import { BACKGROUND_TASK_MAX_RETENTION_DAYS, BACKGROUND_TASK_SETTINGS_MODEL_ID } from "../domain/constants.js";
3
+ class BackgroundTaskSettingsModelFactory {
4
+ async execute(builder) {
5
+ const model = builder.public({
6
+ modelId: BACKGROUND_TASK_SETTINGS_MODEL_ID,
7
+ name: "Background Task Settings",
8
+ group: "hidden"
9
+ }).description("Global settings for the background tasks system.").titleFieldId("retentionDays").singularApiName("BackgroundTaskSettings").pluralApiName("BackgroundTaskSettings").tags([
10
+ "$publishing:false",
11
+ "$hidden:true"
12
+ ]).singleEntry();
13
+ model.fields((fields)=>({
14
+ retentionDays: fields.number().label("Retention (days)").gte(0, "Must be 0 or greater.").lte(BACKGROUND_TASK_MAX_RETENTION_DAYS, `Must be at most ${BACKGROUND_TASK_MAX_RETENTION_DAYS}.`).description(`How long to keep completed task runs. 0 = never delete. Max ${BACKGROUND_TASK_MAX_RETENTION_DAYS} days.`)
15
+ }));
16
+ return [
17
+ model
18
+ ];
19
+ }
20
+ }
21
+ const BackgroundTaskSettingsModel = ModelFactory.createImplementation({
22
+ implementation: BackgroundTaskSettingsModelFactory,
23
+ dependencies: []
24
+ });
25
+ export { BackgroundTaskSettingsModel };
26
+
27
+ //# sourceMappingURL=BackgroundTaskSettingsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/models/BackgroundTaskSettingsModel.js","sources":["../../../src/api/models/BackgroundTaskSettingsModel.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\nimport {\n BACKGROUND_TASK_SETTINGS_MODEL_ID,\n BACKGROUND_TASK_MAX_RETENTION_DAYS\n} from \"~/api/domain/constants.js\";\n\nclass BackgroundTaskSettingsModelFactory implements ModelFactory.Interface {\n async execute(builder: ModelFactory.Builder) {\n const model = builder\n .public({\n modelId: BACKGROUND_TASK_SETTINGS_MODEL_ID,\n name: \"Background Task Settings\",\n group: \"hidden\"\n })\n .description(\"Global settings for the background tasks system.\")\n .titleFieldId(\"retentionDays\")\n .singularApiName(\"BackgroundTaskSettings\")\n .pluralApiName(\"BackgroundTaskSettings\")\n .tags([\"$publishing:false\", \"$hidden:true\"])\n .singleEntry();\n\n model.fields(fields => ({\n retentionDays: fields\n .number()\n .label(\"Retention (days)\")\n .gte(0, \"Must be 0 or greater.\")\n .lte(\n BACKGROUND_TASK_MAX_RETENTION_DAYS,\n `Must be at most ${BACKGROUND_TASK_MAX_RETENTION_DAYS}.`\n )\n .description(\n `How long to keep completed task runs. 0 = never delete. Max ${BACKGROUND_TASK_MAX_RETENTION_DAYS} days.`\n )\n }));\n\n return [model];\n }\n}\n\nexport const BackgroundTaskSettingsModel = ModelFactory.createImplementation({\n implementation: BackgroundTaskSettingsModelFactory,\n dependencies: []\n});\n"],"names":["BackgroundTaskSettingsModelFactory","builder","model","BACKGROUND_TASK_SETTINGS_MODEL_ID","fields","BACKGROUND_TASK_MAX_RETENTION_DAYS","BackgroundTaskSettingsModel","ModelFactory"],"mappings":";;AAMA,MAAMA;IACF,MAAM,QAAQC,OAA6B,EAAE;QACzC,MAAMC,QAAQD,QACT,MAAM,CAAC;YACJ,SAASE;YACT,MAAM;YACN,OAAO;QACX,GACC,WAAW,CAAC,oDACZ,YAAY,CAAC,iBACb,eAAe,CAAC,0BAChB,aAAa,CAAC,0BACd,IAAI,CAAC;YAAC;YAAqB;SAAe,EAC1C,WAAW;QAEhBD,MAAM,MAAM,CAACE,CAAAA,SAAW;gBACpB,eAAeA,OACV,MAAM,GACN,KAAK,CAAC,oBACN,GAAG,CAAC,GAAG,yBACP,GAAG,CACAC,oCACA,CAAC,gBAAgB,EAAEA,mCAAmC,CAAC,CAAC,EAE3D,WAAW,CACR,CAAC,4DAA4D,EAAEA,mCAAmC,MAAM,CAAC;YAErH;QAEA,OAAO;YAACH;SAAM;IAClB;AACJ;AAEO,MAAMI,8BAA8BC,aAAa,oBAAoB,CAAC;IACzE,gBAAgBP;IAChB,cAAc,EAAE;AACpB"}
@@ -0,0 +1,12 @@
1
+ export declare const BACKGROUND_TASK_PERMISSIONS_SCHEMA: {
2
+ readonly prefix: "backgroundTasks";
3
+ readonly fullAccess: true;
4
+ readonly entities: readonly [{
5
+ readonly id: "task";
6
+ readonly permission: "backgroundTasks.task";
7
+ readonly scopes: readonly ["full"];
8
+ readonly actions: readonly [{
9
+ readonly name: "rwd";
10
+ }];
11
+ }];
12
+ };
@@ -0,0 +1,22 @@
1
+ import { createPermissionSchema } from "@webiny/api-core/exports/api/security.js";
2
+ const BACKGROUND_TASK_PERMISSIONS_SCHEMA = createPermissionSchema({
3
+ prefix: "backgroundTasks",
4
+ fullAccess: true,
5
+ entities: [
6
+ {
7
+ id: "task",
8
+ permission: "backgroundTasks.task",
9
+ scopes: [
10
+ "full"
11
+ ],
12
+ actions: [
13
+ {
14
+ name: "rwd"
15
+ }
16
+ ]
17
+ }
18
+ ]
19
+ });
20
+ export { BACKGROUND_TASK_PERMISSIONS_SCHEMA };
21
+
22
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/permissions.js","sources":["../../src/api/permissions.ts"],"sourcesContent":["import { createPermissionSchema } from \"@webiny/api-core/exports/api/security.js\";\n\nexport const BACKGROUND_TASK_PERMISSIONS_SCHEMA = createPermissionSchema({\n prefix: \"backgroundTasks\",\n fullAccess: true,\n entities: [\n {\n id: \"task\",\n permission: \"backgroundTasks.task\",\n scopes: [\"full\"],\n actions: [{ name: \"rwd\" }]\n }\n ]\n});\n"],"names":["BACKGROUND_TASK_PERMISSIONS_SCHEMA","createPermissionSchema"],"mappings":";AAEO,MAAMA,qCAAqCC,uBAAuB;IACrE,QAAQ;IACR,YAAY;IACZ,UAAU;QACN;YACI,IAAI;YACJ,YAAY;YACZ,QAAQ;gBAAC;aAAO;YAChB,SAAS;gBAAC;oBAAE,MAAM;gBAAM;aAAE;QAC9B;KACH;AACL"}
@@ -0,0 +1,19 @@
1
+ import { Plugin } from "@webiny/plugins";
2
+ import type { ITask } from "../../api/types.js";
3
+ export interface ITaskServiceCreatePluginParams {
4
+ getTenant(): string;
5
+ }
6
+ export type ITaskServiceTask = Pick<ITask, "id" | "definitionId">;
7
+ export interface ITaskService {
8
+ send(task: ITaskServiceTask, delay: number): Promise<unknown | null>;
9
+ fetch(task: ITask): Promise<unknown | null>;
10
+ }
11
+ export interface ITaskServicePluginParams {
12
+ default?: boolean;
13
+ }
14
+ export declare abstract class TaskServicePlugin extends Plugin {
15
+ static readonly type: string;
16
+ readonly default: boolean;
17
+ constructor(params?: ITaskServicePluginParams);
18
+ abstract createService(params: ITaskServiceCreatePluginParams): ITaskService;
19
+ }
@@ -0,0 +1,13 @@
1
+ import { Plugin } from "@webiny/plugins";
2
+ class TaskServicePlugin extends Plugin {
3
+ static{
4
+ this.type = "tasks.taskService";
5
+ }
6
+ constructor(params){
7
+ super();
8
+ this.default = !!params?.default;
9
+ }
10
+ }
11
+ export { TaskServicePlugin };
12
+
13
+ //# sourceMappingURL=TaskServicePlugin.js.map