@webiny/tasks 0.0.0-unstable.e53eceafb5 → 0.0.0-unstable.e6f0dc8ca7

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 (316) hide show
  1. package/README.md +10 -9
  2. package/context.js +50 -21
  3. package/context.js.map +1 -1
  4. package/crud/TaskLogPrivateModel.d.ts +9 -0
  5. package/crud/TaskLogPrivateModel.js +34 -0
  6. package/crud/TaskLogPrivateModel.js.map +1 -0
  7. package/crud/TaskPrivateModel.d.ts +9 -0
  8. package/crud/TaskPrivateModel.js +46 -0
  9. package/crud/TaskPrivateModel.js.map +1 -0
  10. package/crud/cleanupTaskSubtree.d.ts +8 -0
  11. package/crud/cleanupTaskSubtree.js +76 -0
  12. package/crud/cleanupTaskSubtree.js.map +1 -0
  13. package/crud/crud.tasks.d.ts +1 -1
  14. package/crud/crud.tasks.js +213 -105
  15. package/crud/crud.tasks.js.map +1 -1
  16. package/crud/definition.tasks.d.ts +1 -1
  17. package/crud/definition.tasks.js +9 -18
  18. package/crud/definition.tasks.js.map +1 -1
  19. package/crud/service.tasks.d.ts +1 -1
  20. package/crud/service.tasks.js +31 -36
  21. package/crud/service.tasks.js.map +1 -1
  22. package/decorators/RunnableTaskDecorator.d.ts +32 -0
  23. package/decorators/RunnableTaskDecorator.js +85 -0
  24. package/decorators/RunnableTaskDecorator.js.map +1 -0
  25. package/decorators/SelfCleaningTaskDecorator.d.ts +30 -0
  26. package/decorators/SelfCleaningTaskDecorator.js +98 -0
  27. package/decorators/SelfCleaningTaskDecorator.js.map +1 -0
  28. package/domain/errors.d.ts +29 -0
  29. package/domain/errors.js +47 -0
  30. package/domain/errors.js.map +1 -0
  31. package/events/TaskAfterCreateEvent.d.ts +6 -0
  32. package/events/TaskAfterCreateEvent.js +10 -0
  33. package/events/TaskAfterCreateEvent.js.map +1 -0
  34. package/events/TaskAfterDeleteEvent.d.ts +6 -0
  35. package/events/TaskAfterDeleteEvent.js +10 -0
  36. package/events/TaskAfterDeleteEvent.js.map +1 -0
  37. package/events/TaskAfterUpdateEvent.d.ts +6 -0
  38. package/events/TaskAfterUpdateEvent.js +10 -0
  39. package/events/TaskAfterUpdateEvent.js.map +1 -0
  40. package/events/TaskBeforeCreateEvent.d.ts +6 -0
  41. package/events/TaskBeforeCreateEvent.js +10 -0
  42. package/events/TaskBeforeCreateEvent.js.map +1 -0
  43. package/events/TaskBeforeDeleteEvent.d.ts +6 -0
  44. package/events/TaskBeforeDeleteEvent.js +10 -0
  45. package/events/TaskBeforeDeleteEvent.js.map +1 -0
  46. package/events/TaskBeforeUpdateEvent.d.ts +6 -0
  47. package/events/TaskBeforeUpdateEvent.js +10 -0
  48. package/events/TaskBeforeUpdateEvent.js.map +1 -0
  49. package/events/abstractions.d.ts +53 -0
  50. package/events/abstractions.js +39 -0
  51. package/events/abstractions.js.map +1 -0
  52. package/events/index.d.ts +7 -0
  53. package/events/index.js +9 -0
  54. package/events/index.js.map +1 -0
  55. package/features/AbortTask/AbortTaskUseCase.d.ts +10 -0
  56. package/features/AbortTask/AbortTaskUseCase.js +11 -0
  57. package/features/AbortTask/AbortTaskUseCase.js.map +1 -0
  58. package/features/AbortTask/abstractions.d.ts +25 -0
  59. package/features/AbortTask/abstractions.js +4 -0
  60. package/features/AbortTask/abstractions.js.map +1 -0
  61. package/features/AbortTask/feature.d.ts +5 -0
  62. package/features/AbortTask/feature.js +11 -0
  63. package/features/AbortTask/feature.js.map +1 -0
  64. package/features/AbortTask/index.d.ts +2 -0
  65. package/features/AbortTask/index.js +4 -0
  66. package/features/AbortTask/index.js.map +1 -0
  67. package/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.d.ts +7 -0
  68. package/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js +10 -0
  69. package/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js.map +1 -0
  70. package/features/CleanupTaskSubtree/abstractions.d.ts +7 -0
  71. package/features/CleanupTaskSubtree/abstractions.js +4 -0
  72. package/features/CleanupTaskSubtree/abstractions.js.map +1 -0
  73. package/features/CleanupTaskSubtree/index.d.ts +2 -0
  74. package/features/CleanupTaskSubtree/index.js +4 -0
  75. package/features/CleanupTaskSubtree/index.js.map +1 -0
  76. package/features/GetTask/GetTaskUseCase.d.ts +9 -0
  77. package/features/GetTask/GetTaskUseCase.js +10 -0
  78. package/features/GetTask/GetTaskUseCase.js.map +1 -0
  79. package/features/GetTask/abstractions.d.ts +10 -0
  80. package/features/GetTask/abstractions.js +4 -0
  81. package/features/GetTask/abstractions.js.map +1 -0
  82. package/features/GetTask/feature.d.ts +5 -0
  83. package/features/GetTask/feature.js +11 -0
  84. package/features/GetTask/feature.js.map +1 -0
  85. package/features/GetTask/index.d.ts +2 -0
  86. package/features/GetTask/index.js +4 -0
  87. package/features/GetTask/index.js.map +1 -0
  88. package/features/GetTaskDefinition/GetTaskDefinitionUseCase.d.ts +12 -0
  89. package/features/GetTaskDefinition/GetTaskDefinitionUseCase.js +25 -0
  90. package/features/GetTaskDefinition/GetTaskDefinitionUseCase.js.map +1 -0
  91. package/features/GetTaskDefinition/abstractions.d.ts +17 -0
  92. package/features/GetTaskDefinition/abstractions.js +4 -0
  93. package/features/GetTaskDefinition/abstractions.js.map +1 -0
  94. package/features/GetTaskDefinition/feature.d.ts +4 -0
  95. package/features/GetTaskDefinition/feature.js +10 -0
  96. package/features/GetTaskDefinition/feature.js.map +1 -0
  97. package/features/GetTaskDefinition/index.d.ts +2 -0
  98. package/features/GetTaskDefinition/index.js +4 -0
  99. package/features/GetTaskDefinition/index.js.map +1 -0
  100. package/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.d.ts +11 -0
  101. package/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js +18 -0
  102. package/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js.map +1 -0
  103. package/features/ListTaskDefinitions/abstractions.d.ts +9 -0
  104. package/features/ListTaskDefinitions/abstractions.js +4 -0
  105. package/features/ListTaskDefinitions/abstractions.js.map +1 -0
  106. package/features/ListTaskDefinitions/feature.d.ts +4 -0
  107. package/features/ListTaskDefinitions/feature.js +10 -0
  108. package/features/ListTaskDefinitions/feature.js.map +1 -0
  109. package/features/ListTaskDefinitions/index.d.ts +2 -0
  110. package/features/ListTaskDefinitions/index.js +4 -0
  111. package/features/ListTaskDefinitions/index.js.map +1 -0
  112. package/features/ListTasks/ListTasksUseCase.d.ts +9 -0
  113. package/features/ListTasks/ListTasksUseCase.js +10 -0
  114. package/features/ListTasks/ListTasksUseCase.js.map +1 -0
  115. package/features/ListTasks/abstractions.d.ts +13 -0
  116. package/features/ListTasks/abstractions.js +4 -0
  117. package/features/ListTasks/abstractions.js.map +1 -0
  118. package/features/ListTasks/feature.d.ts +5 -0
  119. package/features/ListTasks/feature.js +11 -0
  120. package/features/ListTasks/feature.js.map +1 -0
  121. package/features/ListTasks/index.d.ts +2 -0
  122. package/features/ListTasks/index.js +4 -0
  123. package/features/ListTasks/index.js.map +1 -0
  124. package/features/TaskController/TaskController.d.ts +49 -0
  125. package/features/TaskController/TaskController.js +71 -0
  126. package/features/TaskController/TaskController.js.map +1 -0
  127. package/features/TaskController/augmentation.d.ts +60 -0
  128. package/features/TaskController/augmentation.js +3 -0
  129. package/features/TaskController/augmentation.js.map +1 -0
  130. package/features/TaskController/index.d.ts +2 -0
  131. package/features/TaskController/index.js +7 -0
  132. package/features/TaskController/index.js.map +1 -0
  133. package/features/TaskExecutionContext/TaskExecutionContext.d.ts +24 -0
  134. package/features/TaskExecutionContext/TaskExecutionContext.js +50 -0
  135. package/features/TaskExecutionContext/TaskExecutionContext.js.map +1 -0
  136. package/features/TaskExecutionContext/abstractions.d.ts +26 -0
  137. package/features/TaskExecutionContext/abstractions.js +13 -0
  138. package/features/TaskExecutionContext/abstractions.js.map +1 -0
  139. package/features/TaskExecutionContext/feature.d.ts +4 -0
  140. package/features/TaskExecutionContext/feature.js +10 -0
  141. package/features/TaskExecutionContext/feature.js.map +1 -0
  142. package/features/TaskExecutionContext/index.d.ts +1 -0
  143. package/features/TaskExecutionContext/index.js +3 -0
  144. package/features/TaskExecutionContext/index.js.map +1 -0
  145. package/features/TriggerTask/TriggerTaskUseCase.d.ts +10 -0
  146. package/features/TriggerTask/TriggerTaskUseCase.js +11 -0
  147. package/features/TriggerTask/TriggerTaskUseCase.js.map +1 -0
  148. package/features/TriggerTask/abstractions.d.ts +28 -0
  149. package/features/TriggerTask/abstractions.js +4 -0
  150. package/features/TriggerTask/abstractions.js.map +1 -0
  151. package/features/TriggerTask/feature.d.ts +5 -0
  152. package/features/TriggerTask/feature.js +11 -0
  153. package/features/TriggerTask/feature.js.map +1 -0
  154. package/features/TriggerTask/index.d.ts +2 -0
  155. package/features/TriggerTask/index.js +4 -0
  156. package/features/TriggerTask/index.js.map +1 -0
  157. package/global.d.ts +1 -0
  158. package/global.js +3 -0
  159. package/global.js.map +1 -0
  160. package/graphql/checkPermissions.d.ts +1 -1
  161. package/graphql/checkPermissions.js +3 -9
  162. package/graphql/checkPermissions.js.map +1 -1
  163. package/graphql/index.d.ts +1 -1
  164. package/graphql/index.js +67 -83
  165. package/graphql/index.js.map +1 -1
  166. package/graphql/utils.d.ts +3 -3
  167. package/graphql/utils.js +8 -17
  168. package/graphql/utils.js.map +1 -1
  169. package/handler/index.d.ts +2 -2
  170. package/handler/index.js +33 -40
  171. package/handler/index.js.map +1 -1
  172. package/handler/register.js +5 -7
  173. package/handler/register.js.map +1 -1
  174. package/handler/types.d.ts +1 -3
  175. package/handler/types.js +1 -5
  176. package/handler/types.js.map +1 -1
  177. package/index.d.ts +5 -6
  178. package/index.js +5 -60
  179. package/index.js.map +1 -1
  180. package/package.json +27 -28
  181. package/plugins/TaskServicePlugin.d.ts +1 -2
  182. package/plugins/TaskServicePlugin.js +2 -9
  183. package/plugins/TaskServicePlugin.js.map +1 -1
  184. package/plugins/index.d.ts +1 -1
  185. package/plugins/index.js +1 -16
  186. package/plugins/index.js.map +1 -1
  187. package/response/DatabaseResponse.d.ts +3 -3
  188. package/response/DatabaseResponse.js +14 -20
  189. package/response/DatabaseResponse.js.map +1 -1
  190. package/response/Response.d.ts +4 -3
  191. package/response/Response.js +20 -31
  192. package/response/Response.js.map +1 -1
  193. package/response/ResponseAbortedResult.d.ts +3 -4
  194. package/response/ResponseAbortedResult.js +3 -11
  195. package/response/ResponseAbortedResult.js.map +1 -1
  196. package/response/ResponseContinueResult.d.ts +4 -5
  197. package/response/ResponseContinueResult.js +3 -11
  198. package/response/ResponseContinueResult.js.map +1 -1
  199. package/response/ResponseDoneResult.d.ts +4 -6
  200. package/response/ResponseDoneResult.js +3 -11
  201. package/response/ResponseDoneResult.js.map +1 -1
  202. package/response/ResponseErrorResult.d.ts +3 -4
  203. package/response/ResponseErrorResult.js +3 -11
  204. package/response/ResponseErrorResult.js.map +1 -1
  205. package/response/TaskResponse.d.ts +7 -6
  206. package/response/TaskResponse.js +5 -12
  207. package/response/TaskResponse.js.map +1 -1
  208. package/response/abstractions/Response.d.ts +7 -7
  209. package/response/abstractions/Response.js +1 -5
  210. package/response/abstractions/Response.js.map +1 -1
  211. package/response/abstractions/ResponseAbortedResult.d.ts +3 -3
  212. package/response/abstractions/ResponseAbortedResult.js +1 -5
  213. package/response/abstractions/ResponseAbortedResult.js.map +1 -1
  214. package/response/abstractions/ResponseBaseResult.d.ts +2 -3
  215. package/response/abstractions/ResponseBaseResult.js +1 -5
  216. package/response/abstractions/ResponseBaseResult.js.map +1 -1
  217. package/response/abstractions/ResponseContinueResult.d.ts +4 -4
  218. package/response/abstractions/ResponseContinueResult.js +1 -5
  219. package/response/abstractions/ResponseContinueResult.js.map +1 -1
  220. package/response/abstractions/ResponseDoneResult.d.ts +5 -6
  221. package/response/abstractions/ResponseDoneResult.js +1 -5
  222. package/response/abstractions/ResponseDoneResult.js.map +1 -1
  223. package/response/abstractions/ResponseErrorResult.d.ts +4 -5
  224. package/response/abstractions/ResponseErrorResult.js +1 -5
  225. package/response/abstractions/ResponseErrorResult.js.map +1 -1
  226. package/response/abstractions/TaskResponse.d.ts +8 -30
  227. package/response/abstractions/TaskResponse.js +1 -5
  228. package/response/abstractions/TaskResponse.js.map +1 -1
  229. package/response/abstractions/index.d.ts +7 -7
  230. package/response/abstractions/index.js +7 -82
  231. package/response/abstractions/index.js.map +1 -1
  232. package/response/index.d.ts +7 -7
  233. package/response/index.js +7 -82
  234. package/response/index.js.map +1 -1
  235. package/runner/TaskControl.d.ts +4 -4
  236. package/runner/TaskControl.js +61 -39
  237. package/runner/TaskControl.js.map +1 -1
  238. package/runner/TaskEventValidation.d.ts +2 -2
  239. package/runner/TaskEventValidation.js +11 -20
  240. package/runner/TaskEventValidation.js.map +1 -1
  241. package/runner/TaskManager.d.ts +7 -10
  242. package/runner/TaskManager.js +19 -39
  243. package/runner/TaskManager.js.map +1 -1
  244. package/runner/TaskManagerStore.d.ts +7 -7
  245. package/runner/TaskManagerStore.js +16 -25
  246. package/runner/TaskManagerStore.js.map +1 -1
  247. package/runner/TaskRunner.d.ts +5 -6
  248. package/runner/TaskRunner.js +9 -31
  249. package/runner/TaskRunner.js.map +1 -1
  250. package/runner/abstractions/TaskControl.d.ts +4 -4
  251. package/runner/abstractions/TaskControl.js +1 -5
  252. package/runner/abstractions/TaskControl.js.map +1 -1
  253. package/runner/abstractions/TaskEventValidation.d.ts +1 -1
  254. package/runner/abstractions/TaskEventValidation.js +1 -5
  255. package/runner/abstractions/TaskEventValidation.js.map +1 -1
  256. package/runner/abstractions/TaskManager.d.ts +4 -4
  257. package/runner/abstractions/TaskManager.js +1 -5
  258. package/runner/abstractions/TaskManager.js.map +1 -1
  259. package/runner/abstractions/TaskManagerStore.d.ts +11 -11
  260. package/runner/abstractions/TaskManagerStore.js +1 -5
  261. package/runner/abstractions/TaskManagerStore.js.map +1 -1
  262. package/runner/abstractions/TaskRunner.d.ts +3 -3
  263. package/runner/abstractions/TaskRunner.js +1 -5
  264. package/runner/abstractions/TaskRunner.js.map +1 -1
  265. package/runner/abstractions/index.d.ts +5 -5
  266. package/runner/abstractions/index.js +5 -60
  267. package/runner/abstractions/index.js.map +1 -1
  268. package/runner/index.d.ts +1 -1
  269. package/runner/index.js +1 -16
  270. package/runner/index.js.map +1 -1
  271. package/service/EventBridgeEventTransportPlugin.d.ts +4 -5
  272. package/service/EventBridgeEventTransportPlugin.js +8 -17
  273. package/service/EventBridgeEventTransportPlugin.js.map +1 -1
  274. package/service/StepFunctionServicePlugin.d.ts +4 -5
  275. package/service/StepFunctionServicePlugin.js +11 -21
  276. package/service/StepFunctionServicePlugin.js.map +1 -1
  277. package/service/createService.d.ts +2 -2
  278. package/service/createService.js +7 -18
  279. package/service/createService.js.map +1 -1
  280. package/service/index.d.ts +3 -3
  281. package/service/index.js +6 -27
  282. package/service/index.js.map +1 -1
  283. package/tasks/testingRunTask.d.ts +10 -1
  284. package/tasks/testingRunTask.js +13 -18
  285. package/tasks/testingRunTask.js.map +1 -1
  286. package/types.d.ts +41 -214
  287. package/types.js +7 -56
  288. package/types.js.map +1 -1
  289. package/utils/ObjectUpdater.js +4 -11
  290. package/utils/ObjectUpdater.js.map +1 -1
  291. package/utils/getErrorProperties.d.ts +1 -1
  292. package/utils/getErrorProperties.js +3 -10
  293. package/utils/getErrorProperties.js.map +1 -1
  294. package/utils/getObjectProperties.js +1 -8
  295. package/utils/getObjectProperties.js.map +1 -1
  296. package/utils/index.d.ts +3 -3
  297. package/utils/index.js +3 -38
  298. package/utils/index.js.map +1 -1
  299. package/utils/normalizeSelfCleanup.d.ts +2 -0
  300. package/utils/normalizeSelfCleanup.js +15 -0
  301. package/utils/normalizeSelfCleanup.js.map +1 -0
  302. package/crud/model.d.ts +0 -5
  303. package/crud/model.js +0 -216
  304. package/crud/model.js.map +0 -1
  305. package/crud/where.d.ts +0 -1
  306. package/crud/where.js +0 -33
  307. package/crud/where.js.map +0 -1
  308. package/task/index.d.ts +0 -2
  309. package/task/index.js +0 -29
  310. package/task/index.js.map +0 -1
  311. package/task/input.d.ts +0 -15
  312. package/task/input.js +0 -21
  313. package/task/input.js.map +0 -1
  314. package/task/plugin.d.ts +0 -36
  315. package/task/plugin.js +0 -106
  316. package/task/plugin.js.map +0 -1
@@ -0,0 +1,10 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { TaskExecutionContext } from "./TaskExecutionContext.js";
3
+ export const TaskExecutionContextFeature = createFeature({
4
+ name: "TaskExecutionContext",
5
+ register(container) {
6
+ container.register(TaskExecutionContext).inSingletonScope();
7
+ }
8
+ });
9
+
10
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","TaskExecutionContext","TaskExecutionContextFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TaskExecutionContext } from \"./TaskExecutionContext.js\";\n\nexport const TaskExecutionContextFeature = createFeature({\n name: \"TaskExecutionContext\",\n register(container) {\n container.register(TaskExecutionContext).inSingletonScope();\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,oBAAoB;AAE7B,OAAO,MAAMC,2BAA2B,GAAGF,aAAa,CAAC;EACrDG,IAAI,EAAE,sBAAsB;EAC5BC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,oBAAoB,CAAC,CAACK,gBAAgB,CAAC,CAAC;EAC/D;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export * from "./abstractions.js";
@@ -0,0 +1,3 @@
1
+ export * from "./abstractions.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./abstractions.js\";\n"],"mappings":"AAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { TriggerTaskUseCase as UseCaseAbstraction } from "./abstractions.js";
3
+ import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
4
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
5
+ import type { Context } from "../../types.js";
6
+ export declare class TriggerTaskUseCaseImpl implements UseCaseAbstraction.Interface {
7
+ private context;
8
+ constructor(context: Context);
9
+ execute<I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput, O extends TaskService.GenericOutput = TaskService.GenericOutput>(params: UseCaseAbstraction.Params<I>): Promise<Result<TaskService.Task<I, O>, UseCaseAbstraction.Error>>;
10
+ }
@@ -0,0 +1,11 @@
1
+ export class TriggerTaskUseCaseImpl {
2
+ constructor(context) {
3
+ this.context = context;
4
+ }
5
+ async execute(params) {
6
+ const result = await this.context.tasks.trigger(params);
7
+ return result;
8
+ }
9
+ }
10
+
11
+ //# sourceMappingURL=TriggerTaskUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TriggerTaskUseCaseImpl","constructor","context","execute","params","result","tasks","trigger"],"sources":["TriggerTaskUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { TriggerTaskUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\nimport type { Context } from \"~/types.js\";\n\nexport class TriggerTaskUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private context: Context) {}\n\n public async execute<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskService.GenericOutput = TaskService.GenericOutput\n >(\n params: UseCaseAbstraction.Params<I>\n ): Promise<Result<TaskService.Task<I, O>, UseCaseAbstraction.Error>> {\n const result = await this.context.tasks.trigger<I, O>(params);\n\n return result as unknown as Promise<\n Result<TaskService.Task<I, O>, UseCaseAbstraction.Error>\n >;\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,sBAAsB,CAAyC;EACjEC,WAAWA,CAASC,OAAgB,EAAE;IAAA,KAAlBA,OAAgB,GAAhBA,OAAgB;EAAG;EAE9C,MAAaC,OAAOA,CAIhBC,MAAoC,EAC6B;IACjE,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACH,OAAO,CAACI,KAAK,CAACC,OAAO,CAAOH,MAAM,CAAC;IAE7D,OAAOC,MAAM;EAGjB;AACJ","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
3
+ import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
4
+ import { TaskDefinitionNotFoundError, TaskNotFoundError, TaskServiceInfoError } from "../../domain/errors.js";
5
+ export interface ITriggerTaskUseCase {
6
+ execute<I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput, O extends TaskService.GenericOutput = TaskService.GenericOutput>(params: TriggerTaskParams<I>): Promise<Result<TaskService.Task<I, O>, UseCaseError>>;
7
+ }
8
+ export interface TriggerTaskParams<I = TaskDefinition.TaskInput> {
9
+ definition: string;
10
+ input?: I;
11
+ name?: string;
12
+ parent?: Pick<TaskService.Task, "id">;
13
+ delay?: number;
14
+ }
15
+ export interface ITriggerTaskUseCaseErrors {
16
+ definitionNotFound: TaskDefinitionNotFoundError;
17
+ taskNotFound: TaskNotFoundError;
18
+ serviceError: TaskServiceInfoError;
19
+ }
20
+ type UseCaseError = ITriggerTaskUseCaseErrors[keyof ITriggerTaskUseCaseErrors];
21
+ export declare const TriggerTaskUseCase: import("@webiny/di").Abstraction<ITriggerTaskUseCase>;
22
+ export declare namespace TriggerTaskUseCase {
23
+ type Interface = ITriggerTaskUseCase;
24
+ type Params<I = TaskDefinition.TaskInput> = TriggerTaskParams<I>;
25
+ type Error = UseCaseError;
26
+ type Return<I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput, O extends TaskService.GenericOutput = TaskService.GenericOutput> = Promise<Result<TaskService.Task<I, O>, UseCaseError>>;
27
+ }
28
+ export {};
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ export const TriggerTaskUseCase = createAbstraction("Tasks/TriggerTaskUseCase");
3
+
4
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","TriggerTaskUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport {\n TaskDefinitionNotFoundError,\n TaskNotFoundError,\n TaskServiceInfoError\n} from \"~/domain/errors.js\";\n\nexport interface ITriggerTaskUseCase {\n execute<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskService.GenericOutput = TaskService.GenericOutput\n >(\n params: TriggerTaskParams<I>\n ): Promise<Result<TaskService.Task<I, O>, UseCaseError>>;\n}\n\nexport interface TriggerTaskParams<I = TaskDefinition.TaskInput> {\n definition: string;\n input?: I;\n name?: string;\n parent?: Pick<TaskService.Task, \"id\">;\n delay?: number;\n}\n\nexport interface ITriggerTaskUseCaseErrors {\n definitionNotFound: TaskDefinitionNotFoundError;\n taskNotFound: TaskNotFoundError;\n serviceError: TaskServiceInfoError;\n}\n\ntype UseCaseError = ITriggerTaskUseCaseErrors[keyof ITriggerTaskUseCaseErrors];\n\nexport const TriggerTaskUseCase = createAbstraction<ITriggerTaskUseCase>(\n \"Tasks/TriggerTaskUseCase\"\n);\n\nexport namespace TriggerTaskUseCase {\n export type Interface = ITriggerTaskUseCase;\n export type Params<I = TaskDefinition.TaskInput> = TriggerTaskParams<I>;\n\n export type Error = UseCaseError;\n export type Return<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskService.GenericOutput = TaskService.GenericOutput\n > = Promise<Result<TaskService.Task<I, O>, UseCaseError>>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;AAkC/D,OAAO,MAAMC,kBAAkB,GAAGD,iBAAiB,CAC/C,0BACJ,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import type { Context } from "../../types.js";
2
+ export declare const TriggerTaskFeature: {
3
+ name: string;
4
+ register(container: import("@webiny/di").Container, context: Context): void;
5
+ };
@@ -0,0 +1,11 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { TriggerTaskUseCase } from "./abstractions.js";
3
+ import { TriggerTaskUseCaseImpl } from "./TriggerTaskUseCase.js";
4
+ export const TriggerTaskFeature = createFeature({
5
+ name: "TriggerTask",
6
+ register(container, context) {
7
+ container.registerInstance(TriggerTaskUseCase, new TriggerTaskUseCaseImpl(context));
8
+ }
9
+ });
10
+
11
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","TriggerTaskUseCase","TriggerTaskUseCaseImpl","TriggerTaskFeature","name","register","container","context","registerInstance"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TriggerTaskUseCase } from \"./abstractions.js\";\nimport { TriggerTaskUseCaseImpl } from \"~/features/TriggerTask/TriggerTaskUseCase.js\";\nimport type { Context } from \"~/types.js\";\n\nexport const TriggerTaskFeature = createFeature<Context>({\n name: \"TriggerTask\",\n register(container, context) {\n container.registerInstance(TriggerTaskUseCase, new TriggerTaskUseCaseImpl(context!));\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,kBAAkB;AAC3B,SAASC,sBAAsB;AAG/B,OAAO,MAAMC,kBAAkB,GAAGH,aAAa,CAAU;EACrDI,IAAI,EAAE,aAAa;EACnBC,QAAQA,CAACC,SAAS,EAAEC,OAAO,EAAE;IACzBD,SAAS,CAACE,gBAAgB,CAACP,kBAAkB,EAAE,IAAIC,sBAAsB,CAACK,OAAQ,CAAC,CAAC;EACxF;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export { TriggerTaskUseCase } from "./abstractions.js";
2
+ export { TriggerTaskFeature } from "./feature.js";
@@ -0,0 +1,4 @@
1
+ export { TriggerTaskUseCase } from "./abstractions.js";
2
+ export { TriggerTaskFeature } from "./feature.js";
3
+
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TriggerTaskUseCase","TriggerTaskFeature"],"sources":["index.ts"],"sourcesContent":["export { TriggerTaskUseCase } from \"./abstractions.js\";\nexport { TriggerTaskFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,kBAAkB;AAC3B,SAASC,kBAAkB","ignoreList":[]}
package/global.d.ts ADDED
@@ -0,0 +1 @@
1
+ import "./features/TaskController/augmentation.js";
package/global.js ADDED
@@ -0,0 +1,3 @@
1
+ import "./features/TaskController/augmentation.js";
2
+
3
+ //# sourceMappingURL=global.js.map
package/global.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["global.ts"],"sourcesContent":["import \"./features/TaskController/augmentation.js\";\n"],"mappings":"AAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { Context } from "../types";
1
+ import type { Context } from "../types.js";
2
2
  /**
3
3
  * @throws
4
4
  */
@@ -1,14 +1,9 @@
1
- "use strict";
1
+ import { NotAuthorizedError } from "@webiny/api-core/features/security/shared/index.js";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.checkPermissions = void 0;
7
- var _apiSecurity = require("@webiny/api-security");
8
3
  /**
9
4
  * @throws
10
5
  */
11
- const checkPermissions = async (context, check = {}) => {
6
+ export const checkPermissions = async (context, check = {}) => {
12
7
  const taskPermissions = await context.security.getPermissions("tasks");
13
8
  const relevant = taskPermissions.filter(current => {
14
9
  if (check.rwd && !hasRwd(current, check.rwd)) {
@@ -17,10 +12,9 @@ const checkPermissions = async (context, check = {}) => {
17
12
  return true;
18
13
  });
19
14
  if (relevant.length === 0) {
20
- throw new _apiSecurity.NotAuthorizedError();
15
+ throw new NotAuthorizedError();
21
16
  }
22
17
  };
23
- exports.checkPermissions = checkPermissions;
24
18
  const hasRwd = (permissions, rwd) => {
25
19
  if (!Array.isArray(permissions)) {
26
20
  permissions = [permissions];
@@ -1 +1 @@
1
- {"version":3,"names":["_apiSecurity","require","checkPermissions","context","check","taskPermissions","security","getPermissions","relevant","filter","current","rwd","hasRwd","length","NotAuthorizedError","exports","permissions","Array","isArray","permissionWithoutRwdRestrictions","some","permission","includes"],"sources":["checkPermissions.ts"],"sourcesContent":["import { NotAuthorizedError } from \"@webiny/api-security\";\nimport type { Context, TaskPermission } from \"~/types\";\n\n/**\n * @throws\n */\nexport const checkPermissions = async (\n context: Context,\n check: { rwd?: string } = {}\n): Promise<void> => {\n const taskPermissions = await context.security.getPermissions<TaskPermission>(\"tasks\");\n\n const relevant = taskPermissions.filter(current => {\n if (check.rwd && !hasRwd(current, check.rwd)) {\n return false;\n }\n\n return true;\n });\n\n if (relevant.length === 0) {\n throw new NotAuthorizedError();\n }\n};\n\nconst hasRwd = (permissions: TaskPermission | TaskPermission[], rwd: string): boolean => {\n if (!Array.isArray(permissions)) {\n permissions = [permissions];\n }\n\n if (!rwd) {\n return true;\n }\n\n // Is there a permission that doesn't restrict RWD permissions, that means all RWD permissions are allowed.\n const permissionWithoutRwdRestrictions = permissions.some(permission => {\n return typeof permission.rwd !== \"string\";\n });\n\n if (permissionWithoutRwdRestrictions) {\n return true;\n }\n\n // If there is no permission that doesn't restrict RWD permissions, that means we need to check if the RWD.\n return permissions.some(permission => {\n return permission.rwd && permission.rwd.includes(rwd);\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACO,MAAMC,gBAAgB,GAAG,MAAAA,CAC5BC,OAAgB,EAChBC,KAAuB,GAAG,CAAC,CAAC,KACZ;EAChB,MAAMC,eAAe,GAAG,MAAMF,OAAO,CAACG,QAAQ,CAACC,cAAc,CAAiB,OAAO,CAAC;EAEtF,MAAMC,QAAQ,GAAGH,eAAe,CAACI,MAAM,CAACC,OAAO,IAAI;IAC/C,IAAIN,KAAK,CAACO,GAAG,IAAI,CAACC,MAAM,CAACF,OAAO,EAAEN,KAAK,CAACO,GAAG,CAAC,EAAE;MAC1C,OAAO,KAAK;IAChB;IAEA,OAAO,IAAI;EACf,CAAC,CAAC;EAEF,IAAIH,QAAQ,CAACK,MAAM,KAAK,CAAC,EAAE;IACvB,MAAM,IAAIC,+BAAkB,CAAC,CAAC;EAClC;AACJ,CAAC;AAACC,OAAA,CAAAb,gBAAA,GAAAA,gBAAA;AAEF,MAAMU,MAAM,GAAGA,CAACI,WAA8C,EAAEL,GAAW,KAAc;EACrF,IAAI,CAACM,KAAK,CAACC,OAAO,CAACF,WAAW,CAAC,EAAE;IAC7BA,WAAW,GAAG,CAACA,WAAW,CAAC;EAC/B;EAEA,IAAI,CAACL,GAAG,EAAE;IACN,OAAO,IAAI;EACf;;EAEA;EACA,MAAMQ,gCAAgC,GAAGH,WAAW,CAACI,IAAI,CAACC,UAAU,IAAI;IACpE,OAAO,OAAOA,UAAU,CAACV,GAAG,KAAK,QAAQ;EAC7C,CAAC,CAAC;EAEF,IAAIQ,gCAAgC,EAAE;IAClC,OAAO,IAAI;EACf;;EAEA;EACA,OAAOH,WAAW,CAACI,IAAI,CAACC,UAAU,IAAI;IAClC,OAAOA,UAAU,CAACV,GAAG,IAAIU,UAAU,CAACV,GAAG,CAACW,QAAQ,CAACX,GAAG,CAAC;EACzD,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NotAuthorizedError","checkPermissions","context","check","taskPermissions","security","getPermissions","relevant","filter","current","rwd","hasRwd","length","permissions","Array","isArray","permissionWithoutRwdRestrictions","some","permission","includes"],"sources":["checkPermissions.ts"],"sourcesContent":["import type { Context, TaskPermission } from \"~/types.js\";\nimport { NotAuthorizedError } from \"@webiny/api-core/features/security/shared/index.js\";\n\n/**\n * @throws\n */\nexport const checkPermissions = async (\n context: Context,\n check: { rwd?: string } = {}\n): Promise<void> => {\n const taskPermissions = await context.security.getPermissions<TaskPermission>(\"tasks\");\n\n const relevant = taskPermissions.filter(current => {\n if (check.rwd && !hasRwd(current, check.rwd)) {\n return false;\n }\n\n return true;\n });\n\n if (relevant.length === 0) {\n throw new NotAuthorizedError();\n }\n};\n\nconst hasRwd = (permissions: TaskPermission | TaskPermission[], rwd: string): boolean => {\n if (!Array.isArray(permissions)) {\n permissions = [permissions];\n }\n\n if (!rwd) {\n return true;\n }\n\n // Is there a permission that doesn't restrict RWD permissions, that means all RWD permissions are allowed.\n const permissionWithoutRwdRestrictions = permissions.some(permission => {\n return typeof permission.rwd !== \"string\";\n });\n\n if (permissionWithoutRwdRestrictions) {\n return true;\n }\n\n // If there is no permission that doesn't restrict RWD permissions, that means we need to check if the RWD.\n return permissions.some(permission => {\n return permission.rwd && permission.rwd.includes(rwd);\n });\n};\n"],"mappings":"AACA,SAASA,kBAAkB,QAAQ,oDAAoD;;AAEvF;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAG,MAAAA,CAC5BC,OAAgB,EAChBC,KAAuB,GAAG,CAAC,CAAC,KACZ;EAChB,MAAMC,eAAe,GAAG,MAAMF,OAAO,CAACG,QAAQ,CAACC,cAAc,CAAiB,OAAO,CAAC;EAEtF,MAAMC,QAAQ,GAAGH,eAAe,CAACI,MAAM,CAACC,OAAO,IAAI;IAC/C,IAAIN,KAAK,CAACO,GAAG,IAAI,CAACC,MAAM,CAACF,OAAO,EAAEN,KAAK,CAACO,GAAG,CAAC,EAAE;MAC1C,OAAO,KAAK;IAChB;IAEA,OAAO,IAAI;EACf,CAAC,CAAC;EAEF,IAAIH,QAAQ,CAACK,MAAM,KAAK,CAAC,EAAE;IACvB,MAAM,IAAIZ,kBAAkB,CAAC,CAAC;EAClC;AACJ,CAAC;AAED,MAAMW,MAAM,GAAGA,CAACE,WAA8C,EAAEH,GAAW,KAAc;EACrF,IAAI,CAACI,KAAK,CAACC,OAAO,CAACF,WAAW,CAAC,EAAE;IAC7BA,WAAW,GAAG,CAACA,WAAW,CAAC;EAC/B;EAEA,IAAI,CAACH,GAAG,EAAE;IACN,OAAO,IAAI;EACf;;EAEA;EACA,MAAMM,gCAAgC,GAAGH,WAAW,CAACI,IAAI,CAACC,UAAU,IAAI;IACpE,OAAO,OAAOA,UAAU,CAACR,GAAG,KAAK,QAAQ;EAC7C,CAAC,CAAC;EAEF,IAAIM,gCAAgC,EAAE;IAClC,OAAO,IAAI;EACf;;EAEA;EACA,OAAOH,WAAW,CAACI,IAAI,CAACC,UAAU,IAAI;IAClC,OAAOA,UAAU,CAACR,GAAG,IAAIQ,UAAU,CAACR,GAAG,CAACS,QAAQ,CAACT,GAAG,CAAC;EACzD,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import type { Plugin } from "@webiny/plugins/types";
1
+ import type { Plugin } from "@webiny/plugins/types.js";
2
2
  export declare const createBackgroundTaskGraphQL: () => Plugin[];
package/graphql/index.js CHANGED
@@ -1,87 +1,68 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createBackgroundTaskGraphQL = void 0;
7
- var _handlerGraphql = require("@webiny/handler-graphql");
8
- var _renderSortEnum = require("@webiny/api-headless-cms/utils/renderSortEnum");
9
- var _handler = require("@webiny/handler");
10
- var _renderListFilterFields = require("@webiny/api-headless-cms/utils/renderListFilterFields");
11
- var _createFieldTypePluginRecords = require("@webiny/api-headless-cms/graphql/schema/createFieldTypePluginRecords");
12
- var _utils = require("./utils");
13
- var _renderFields = require("@webiny/api-headless-cms/utils/renderFields");
14
- var _checkPermissions = require("./checkPermissions");
15
- const createWebinyBackgroundTaskDefinitionEnum = items => {
16
- if (items.length === 0) {
17
- return "Empty";
18
- }
19
- return items.filter(item => {
20
- return !item.isPrivate;
21
- }).map(definition => definition.id).join("\n");
22
- };
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";
23
10
  const createGraphQL = () => {
24
- const plugin = new _handler.ContextPlugin(async ctx => {
11
+ const plugin = new ContextPlugin(async ctx => {
25
12
  if (!ctx.tenancy.getCurrentTenant()) {
26
13
  return;
27
- } else if (!ctx.i18n.getDefaultLocale()) {
28
- return;
29
14
  }
30
15
  const taskModel = await ctx.tasks.getTaskModel();
31
16
  const logModel = await ctx.tasks.getLogModel();
17
+ const listModels = ctx.container.resolve(ListModelsUseCase);
18
+ const fieldRegistry = ctx.container.resolve(CmsModelFieldToGraphQLRegistry);
32
19
  const models = await ctx.security.withoutAuthorization(async () => {
33
- return (await ctx.cms.listModels()).filter(model => {
34
- if (model.fields.length === 0) {
35
- return false;
36
- } else if (model.isPrivate) {
37
- return false;
38
- }
39
- return true;
20
+ const modelsResult = await listModels.execute({
21
+ includePrivate: false
40
22
  });
23
+ return modelsResult.value.filter(model => model.fields.length > 0);
41
24
  });
42
- const fieldTypePlugins = (0, _createFieldTypePluginRecords.createFieldTypePluginRecords)(ctx.plugins);
43
- const taskFields = (0, _renderFields.renderFields)({
25
+ const taskFields = renderFields({
44
26
  models,
45
27
  model: taskModel,
46
28
  fields: taskModel.fields,
47
29
  type: "manage",
48
- fieldTypePlugins
30
+ fieldRegistry
49
31
  });
50
- const logFields = (0, _renderFields.renderFields)({
32
+ const logFields = renderFields({
51
33
  models,
52
34
  model: logModel,
53
35
  fields: logModel.fields.filter(field => field.fieldId !== "task"),
54
36
  type: "manage",
55
- fieldTypePlugins
37
+ fieldRegistry
56
38
  });
57
- const listTasksFilterFieldsRender = (0, _renderListFilterFields.renderListFilterFields)({
39
+ const listTasksFilterFieldsRender = renderListFilterFields({
58
40
  model: taskModel,
59
41
  fields: taskModel.fields,
60
42
  type: "manage",
61
- fieldTypePlugins,
43
+ fieldRegistry,
62
44
  excludeFields: ["entryId"]
63
45
  });
64
- const listLogsFilterFieldsRender = (0, _renderListFilterFields.renderListFilterFields)({
46
+ const listLogsFilterFieldsRender = renderListFilterFields({
65
47
  model: logModel,
66
48
  fields: logModel.fields,
67
49
  type: "manage",
68
- fieldTypePlugins,
50
+ fieldRegistry,
69
51
  excludeFields: ["entryId"]
70
52
  });
71
- const sortTasksEnumRender = (0, _renderSortEnum.renderSortEnum)({
53
+ const sortTasksEnumRender = renderSortEnum({
72
54
  model: taskModel,
73
55
  fields: taskModel.fields,
74
- fieldTypePlugins,
75
- sorterPlugins: []
56
+ fieldRegistry,
57
+ sorters: []
76
58
  });
77
- const sortLogsEnumRender = (0, _renderSortEnum.renderSortEnum)({
59
+ const sortLogsEnumRender = renderSortEnum({
78
60
  model: logModel,
79
61
  fields: logModel.fields,
80
- fieldTypePlugins,
81
- sorterPlugins: []
62
+ fieldRegistry,
63
+ sorters: []
82
64
  });
83
- const taskDefinitions = ctx.tasks.listDefinitions();
84
- const plugin = new _handlerGraphql.GraphQLSchemaPlugin({
65
+ const plugin = new GraphQLSchemaPlugin({
85
66
  typeDefs: /* GraphQL */`
86
67
  type WebinyBackgroundTaskError {
87
68
  message: String
@@ -89,7 +70,7 @@ const createGraphQL = () => {
89
70
  data: JSON
90
71
  stack: String
91
72
  }
92
-
73
+
93
74
  ${taskFields.map(f => f.typeDefs).join("\n")}
94
75
  ${logFields.map(f => f.typeDefs).join("\n")}
95
76
 
@@ -122,7 +103,7 @@ const createGraphQL = () => {
122
103
  meta: WebinyBackgroundTaskMeta
123
104
  error: WebinyBackgroundTaskError
124
105
  }
125
-
106
+
126
107
  type WebinyBackgroundTaskLog {
127
108
  id: String!
128
109
  createdOn: DateTime!
@@ -130,7 +111,7 @@ const createGraphQL = () => {
130
111
  task: WebinyBackgroundTask!
131
112
  ${logFields.map(f => f.fields).join("\n")}
132
113
  }
133
-
114
+
134
115
  type WebinyBackgroundTaskLogListResponse {
135
116
  data: [WebinyBackgroundTaskLog!]
136
117
  meta: WebinyBackgroundTaskMeta
@@ -141,7 +122,6 @@ const createGraphQL = () => {
141
122
  id: String!
142
123
  title: String!
143
124
  description: String
144
- fields: JSON
145
125
  }
146
126
 
147
127
  type WebinyBackgroundTaskListDefinitionsResponse {
@@ -166,17 +146,17 @@ const createGraphQL = () => {
166
146
  }
167
147
 
168
148
  input WebinyBackgroundTaskListWhereInput {
169
- ${listTasksFilterFieldsRender}
149
+ ${listTasksFilterFieldsRender.allFiltersAsString() || "_empty: String"}
170
150
  }
171
-
151
+
172
152
  input WebinyBackgroundTaskLogListWhereInput {
173
- ${listLogsFilterFieldsRender}
153
+ ${listLogsFilterFieldsRender.allFiltersAsString() || "_empty: String"}
174
154
  }
175
155
 
176
156
  enum WebinyBackgroundTaskListSorter {
177
157
  ${sortTasksEnumRender}
178
158
  }
179
-
159
+
180
160
  enum WebinyBackgroundTaskLogListSorter {
181
161
  ${sortLogsEnumRender}
182
162
  }
@@ -189,10 +169,6 @@ const createGraphQL = () => {
189
169
  _empty: String
190
170
  }
191
171
 
192
- enum WebinyBackgroundTaskDefinitionEnum {
193
- ${createWebinyBackgroundTaskDefinitionEnum(taskDefinitions)}
194
- }
195
-
196
172
  extend type Query {
197
173
  backgroundTasks: WebinyBackgroundTaskQuery
198
174
  }
@@ -211,7 +187,7 @@ const createGraphQL = () => {
211
187
  search: String
212
188
  ): WebinyBackgroundTaskListResponse!
213
189
  listDefinitions: WebinyBackgroundTaskListDefinitionsResponse!
214
-
190
+
215
191
  listLogs(
216
192
  where: WebinyBackgroundTaskLogListWhereInput
217
193
  sort: [WebinyBackgroundTaskLogListSorter!]
@@ -222,41 +198,41 @@ const createGraphQL = () => {
222
198
  }
223
199
 
224
200
  extend type WebinyBackgroundTaskMutation {
225
- triggerTask(definition: WebinyBackgroundTaskDefinitionEnum!, input: JSON, name: String, delay: Number): WebinyBackgroundTaskTriggerResponse!
201
+ triggerTask(definition: String!, input: JSON, name: String, delay: Number): WebinyBackgroundTaskTriggerResponse!
226
202
  abortTask(id: ID!, message: String): WebinyBackgroundTaskResponse!
227
203
  deleteTask(id: ID!): WebinyBackgroundTaskDeleteResponse!
228
204
  }
229
205
  `,
230
206
  resolvers: {
231
207
  Query: {
232
- backgroundTasks: _utils.emptyResolver
208
+ backgroundTasks: emptyResolver
233
209
  },
234
210
  Mutation: {
235
- backgroundTasks: _utils.emptyResolver
211
+ backgroundTasks: emptyResolver
236
212
  },
237
213
  WebinyBackgroundTaskQuery: {
238
214
  /**
239
215
  * We need to think of a way to pass the args type to the resolver without assigning it directly.
240
216
  */
241
217
  getTask: async (_, args, context) => {
242
- return (0, _utils.resolve)(async () => {
243
- await (0, _checkPermissions.checkPermissions)(context, {
218
+ return resolve(async () => {
219
+ await checkPermissions(context, {
244
220
  rwd: "r"
245
221
  });
246
222
  return await context.tasks.getTask(args.id);
247
223
  });
248
224
  },
249
225
  listTasks: async (_, args, context) => {
250
- return (0, _utils.resolveList)(async () => {
251
- await (0, _checkPermissions.checkPermissions)(context, {
226
+ return resolveList(async () => {
227
+ await checkPermissions(context, {
252
228
  rwd: "r"
253
229
  });
254
230
  return await context.tasks.listTasks(args);
255
231
  });
256
232
  },
257
233
  listDefinitions: async (_, __, context) => {
258
- return (0, _utils.resolve)(async () => {
259
- await (0, _checkPermissions.checkPermissions)(context, {
234
+ return resolve(async () => {
235
+ await checkPermissions(context, {
260
236
  rwd: "r"
261
237
  });
262
238
  const result = context.tasks.listDefinitions();
@@ -269,8 +245,8 @@ const createGraphQL = () => {
269
245
  });
270
246
  },
271
247
  listLogs: async (_, args, context) => {
272
- return (0, _utils.resolveList)(async () => {
273
- await (0, _checkPermissions.checkPermissions)(context, {
248
+ return resolveList(async () => {
249
+ await checkPermissions(context, {
274
250
  rwd: "r"
275
251
  });
276
252
  return await context.tasks.listLogs(args);
@@ -282,32 +258,40 @@ const createGraphQL = () => {
282
258
  * We need to think of a way to pass the args type to the resolver without assigning it directly.
283
259
  */
284
260
  abortTask: async (_, args, context) => {
285
- await (0, _checkPermissions.checkPermissions)(context, {
261
+ await checkPermissions(context, {
286
262
  rwd: "w"
287
263
  });
288
- return (0, _utils.resolve)(async () => {
289
- return await context.tasks.abort(args);
264
+ return resolve(async () => {
265
+ const result = await context.tasks.abort(args);
266
+ if (result.isOk()) {
267
+ return result.value;
268
+ }
269
+ throw result.error;
290
270
  });
291
271
  },
292
272
  /**
293
273
  * We need to think of a way to pass the args type to the resolver without assigning it directly.
294
274
  */
295
275
  triggerTask: async (_, args, context) => {
296
- await (0, _checkPermissions.checkPermissions)(context, {
276
+ await checkPermissions(context, {
297
277
  rwd: "w"
298
278
  });
299
- return (0, _utils.resolve)(async () => {
300
- return await context.tasks.trigger(args);
279
+ return resolve(async () => {
280
+ const result = await context.tasks.trigger(args);
281
+ if (result.isOk()) {
282
+ return result.value;
283
+ }
284
+ throw result.error;
301
285
  });
302
286
  },
303
287
  /**
304
288
  * We need to think of a way to pass the args type to the resolver without assigning it directly.
305
289
  */
306
290
  deleteTask: async (_, args, context) => {
307
- await (0, _checkPermissions.checkPermissions)(context, {
291
+ await checkPermissions(context, {
308
292
  rwd: "d"
309
293
  });
310
- return (0, _utils.resolve)(async () => {
294
+ return resolve(async () => {
311
295
  return await context.tasks.deleteTask(args.id);
312
296
  });
313
297
  }
@@ -338,14 +322,14 @@ const createGraphQL = () => {
338
322
  }
339
323
  }
340
324
  });
325
+ plugin.name = "tasks.graphql.schema";
341
326
  ctx.plugins.register(plugin);
342
327
  });
343
328
  plugin.name = "tasks.graphql";
344
329
  return plugin;
345
330
  };
346
- const createBackgroundTaskGraphQL = () => {
331
+ export const createBackgroundTaskGraphQL = () => {
347
332
  return [createGraphQL()];
348
333
  };
349
- exports.createBackgroundTaskGraphQL = createBackgroundTaskGraphQL;
350
334
 
351
335
  //# sourceMappingURL=index.js.map