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

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,302 @@
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 models = await ctx.security.withoutAuthorization(async ()=>{
18
+ const modelsResult = await listModels.execute({
19
+ includePrivate: false
20
+ });
21
+ return modelsResult.value.filter((model)=>model.fields.length > 0);
22
+ });
23
+ const taskFields = renderFields({
24
+ models,
25
+ model: taskModel,
26
+ fields: taskModel.fields,
27
+ type: "manage",
28
+ fieldRegistry
29
+ });
30
+ const logFields = renderFields({
31
+ models,
32
+ model: logModel,
33
+ fields: logModel.fields.filter((field)=>"task" !== field.fieldId),
34
+ type: "manage",
35
+ fieldRegistry
36
+ });
37
+ const listTasksFilterFieldsRender = renderListFilterFields({
38
+ model: taskModel,
39
+ fields: taskModel.fields,
40
+ type: "manage",
41
+ fieldRegistry,
42
+ excludeFields: [
43
+ "entryId"
44
+ ]
45
+ });
46
+ const listLogsFilterFieldsRender = renderListFilterFields({
47
+ model: logModel,
48
+ fields: logModel.fields,
49
+ type: "manage",
50
+ fieldRegistry,
51
+ excludeFields: [
52
+ "entryId"
53
+ ]
54
+ });
55
+ const sortTasksEnumRender = renderSortEnum({
56
+ model: taskModel,
57
+ fields: taskModel.fields,
58
+ fieldRegistry,
59
+ sorters: []
60
+ });
61
+ const sortLogsEnumRender = renderSortEnum({
62
+ model: logModel,
63
+ fields: logModel.fields,
64
+ fieldRegistry,
65
+ sorters: []
66
+ });
67
+ const plugin = new GraphQLSchemaPlugin({
68
+ typeDefs: `
69
+ type WebinyBackgroundTaskError {
70
+ message: String
71
+ code: String
72
+ data: JSON
73
+ stack: String
74
+ }
75
+
76
+ ${taskFields.map((f)=>f.typeDefs).join("\n")}
77
+ ${logFields.map((f)=>f.typeDefs).join("\n")}
78
+
79
+ type WebinyBackgroundTask {
80
+ id: String!
81
+ createdOn: DateTime!
82
+ savedOn: DateTime
83
+ createdBy: WebinyBackgroundTaskIdentity!
84
+ logs(
85
+ where: WebinyBackgroundTaskLogListWhereInput
86
+ limit: Number
87
+ sort: [WebinyBackgroundTaskLogListSorter!]
88
+ ): [WebinyBackgroundTaskLog!]!
89
+ ${taskFields.map((f)=>f.fields).join("\n")}
90
+ }
91
+
92
+ type WebinyBackgroundTaskResponse {
93
+ data: WebinyBackgroundTask
94
+ error: WebinyBackgroundTaskError
95
+ }
96
+
97
+ type WebinyBackgroundTaskMeta {
98
+ cursor: String
99
+ hasMoreItems: Boolean!
100
+ totalCount: Int!
101
+ }
102
+
103
+ type WebinyBackgroundTaskListResponse {
104
+ data: [WebinyBackgroundTask!]
105
+ meta: WebinyBackgroundTaskMeta
106
+ error: WebinyBackgroundTaskError
107
+ }
108
+
109
+ type WebinyBackgroundTaskLog {
110
+ id: String!
111
+ createdOn: DateTime!
112
+ createdBy: WebinyBackgroundTaskIdentity!
113
+ task: WebinyBackgroundTask!
114
+ ${logFields.map((f)=>f.fields).join("\n")}
115
+ }
116
+
117
+ type WebinyBackgroundTaskLogListResponse {
118
+ data: [WebinyBackgroundTaskLog!]
119
+ meta: WebinyBackgroundTaskMeta
120
+ error: WebinyBackgroundTaskError
121
+ }
122
+
123
+ type WebinyBackgroundTaskDefinition {
124
+ id: String!
125
+ title: String!
126
+ description: String
127
+ }
128
+
129
+ type WebinyBackgroundTaskListDefinitionsResponse {
130
+ data: [WebinyBackgroundTaskDefinition!]
131
+ error: WebinyBackgroundTaskError
132
+ }
133
+
134
+ type WebinyBackgroundTaskIdentity {
135
+ id: String!
136
+ displayName: String!
137
+ type: String
138
+ }
139
+
140
+ type WebinyBackgroundTaskTriggerResponse {
141
+ data: WebinyBackgroundTask
142
+ error: WebinyBackgroundTaskError
143
+ }
144
+
145
+ type WebinyBackgroundTaskDeleteResponse {
146
+ data: Boolean
147
+ error: WebinyBackgroundTaskError
148
+ }
149
+
150
+ input WebinyBackgroundTaskListWhereInput {
151
+ ${listTasksFilterFieldsRender.allFiltersAsString() || "_empty: String"}
152
+ }
153
+
154
+ input WebinyBackgroundTaskLogListWhereInput {
155
+ ${listLogsFilterFieldsRender.allFiltersAsString() || "_empty: String"}
156
+ }
157
+
158
+ enum WebinyBackgroundTaskListSorter {
159
+ ${sortTasksEnumRender}
160
+ }
161
+
162
+ enum WebinyBackgroundTaskLogListSorter {
163
+ ${sortLogsEnumRender}
164
+ }
165
+
166
+ type WebinyBackgroundTaskQuery {
167
+ _empty: String
168
+ }
169
+
170
+ type WebinyBackgroundTaskMutation {
171
+ _empty: String
172
+ }
173
+
174
+ extend type Query {
175
+ backgroundTasks: WebinyBackgroundTaskQuery
176
+ }
177
+
178
+ extend type Mutation {
179
+ backgroundTasks: WebinyBackgroundTaskMutation
180
+ }
181
+
182
+ extend type WebinyBackgroundTaskQuery {
183
+ getTask(id: ID!): WebinyBackgroundTaskResponse!
184
+ listTasks(
185
+ where: WebinyBackgroundTaskListWhereInput
186
+ sort: [WebinyBackgroundTaskListSorter!]
187
+ limit: Int
188
+ after: String
189
+ search: String
190
+ ): WebinyBackgroundTaskListResponse!
191
+ listDefinitions: WebinyBackgroundTaskListDefinitionsResponse!
192
+
193
+ listLogs(
194
+ where: WebinyBackgroundTaskLogListWhereInput
195
+ sort: [WebinyBackgroundTaskLogListSorter!]
196
+ limit: Int
197
+ after: String
198
+ search: String
199
+ ): WebinyBackgroundTaskLogListResponse!
200
+ }
201
+
202
+ extend type WebinyBackgroundTaskMutation {
203
+ triggerTask(definition: String!, input: JSON, name: String, delay: Number): WebinyBackgroundTaskTriggerResponse!
204
+ abortTask(id: ID!, message: String): WebinyBackgroundTaskResponse!
205
+ deleteTask(id: ID!): WebinyBackgroundTaskDeleteResponse!
206
+ }
207
+ `,
208
+ resolvers: {
209
+ Query: {
210
+ backgroundTasks: emptyResolver
211
+ },
212
+ Mutation: {
213
+ backgroundTasks: emptyResolver
214
+ },
215
+ WebinyBackgroundTaskQuery: {
216
+ getTask: async (_, args, context)=>resolve(async ()=>{
217
+ await checkPermissions(context, {
218
+ rwd: "r"
219
+ });
220
+ return await context.tasks.getTask(args.id);
221
+ }),
222
+ listTasks: async (_, args, context)=>resolveList(async ()=>{
223
+ await checkPermissions(context, {
224
+ rwd: "r"
225
+ });
226
+ return await context.tasks.listTasks(args);
227
+ }),
228
+ listDefinitions: async (_, __, context)=>resolve(async ()=>{
229
+ await checkPermissions(context, {
230
+ rwd: "r"
231
+ });
232
+ const result = context.tasks.listDefinitions();
233
+ return result.filter((item)=>!item.isPrivate);
234
+ }),
235
+ listLogs: async (_, args, context)=>resolveList(async ()=>{
236
+ await checkPermissions(context, {
237
+ rwd: "r"
238
+ });
239
+ return await context.tasks.listLogs(args);
240
+ })
241
+ },
242
+ WebinyBackgroundTaskMutation: {
243
+ abortTask: async (_, args, context)=>{
244
+ await checkPermissions(context, {
245
+ rwd: "w"
246
+ });
247
+ return resolve(async ()=>{
248
+ const result = await context.tasks.abort(args);
249
+ if (result.isOk()) return result.value;
250
+ throw result.error;
251
+ });
252
+ },
253
+ triggerTask: async (_, args, context)=>{
254
+ await checkPermissions(context, {
255
+ rwd: "w"
256
+ });
257
+ return resolve(async ()=>{
258
+ const result = await context.tasks.trigger(args);
259
+ if (result.isOk()) return result.value;
260
+ throw result.error;
261
+ });
262
+ },
263
+ deleteTask: async (_, args, context)=>{
264
+ await checkPermissions(context, {
265
+ rwd: "d"
266
+ });
267
+ return resolve(async ()=>await context.tasks.deleteTask(args.id));
268
+ }
269
+ },
270
+ WebinyBackgroundTask: {
271
+ logs: async (parent, args, context)=>{
272
+ const { items } = await context.tasks.listLogs({
273
+ sort: [
274
+ "createdBy_ASC"
275
+ ],
276
+ limit: 10000,
277
+ ...args,
278
+ where: {
279
+ ...args?.where,
280
+ task: parent.id
281
+ }
282
+ });
283
+ return items;
284
+ }
285
+ },
286
+ WebinyBackgroundTaskLog: {
287
+ task: async (parent, _, context)=>await context.tasks.getTask(parent.task)
288
+ }
289
+ }
290
+ });
291
+ plugin.name = "tasks.graphql.schema";
292
+ ctx.plugins.register(plugin);
293
+ });
294
+ plugin.name = "tasks.graphql";
295
+ return plugin;
296
+ };
297
+ const createBackgroundTaskGraphQL = ()=>[
298
+ createGraphQL()
299
+ ];
300
+ export { createBackgroundTaskGraphQL };
301
+
302
+ //# 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 models = await ctx.security.withoutAuthorization(async () => {\n const modelsResult = await listModels.execute({ includePrivate: false });\n\n return modelsResult.value.filter(model => model.fields.length > 0);\n });\n const taskFields = renderFields({\n models,\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const logFields = renderFields({\n models,\n model: logModel,\n fields: logModel.fields.filter(field => field.fieldId !== \"task\"),\n type: \"manage\",\n fieldRegistry\n });\n\n const listTasksFilterFieldsRender = renderListFilterFields({\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldRegistry,\n excludeFields: [\"entryId\"]\n });\n\n const listLogsFilterFieldsRender = renderListFilterFields({\n model: logModel,\n fields: logModel.fields,\n type: \"manage\",\n fieldRegistry,\n excludeFields: [\"entryId\"]\n });\n\n const sortTasksEnumRender = renderSortEnum({\n model: taskModel,\n fields: taskModel.fields,\n fieldRegistry,\n sorters: []\n });\n\n const sortLogsEnumRender = renderSortEnum({\n model: logModel,\n fields: logModel.fields,\n fieldRegistry,\n sorters: []\n });\n\n 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","models","modelsResult","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