@webiny/background-tasks 0.0.0-unstable.a4f3e4ea8b → 0.0.0-unstable.eb81deee7e

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 (189) hide show
  1. package/admin/BackgroundTaskRoutes.js +16 -3
  2. package/admin/BackgroundTaskRoutes.js.map +1 -1
  3. package/admin/features/listLogs/ListLogsGateway.js +1 -1
  4. package/admin/features/listLogs/ListLogsGateway.js.map +1 -1
  5. package/admin/features/permissions/feature.d.ts +1 -1
  6. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js +2 -2
  7. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js.map +1 -1
  8. package/admin/presentation/TaskDetail/TaskDetailPresenter.js +1 -1
  9. package/admin/presentation/TaskDetail/TaskDetailPresenter.js.map +1 -1
  10. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js +1 -1
  11. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js.map +1 -1
  12. package/api/{features/GetTaskDefinition/feature.d.ts → BackgroundTasksFeature.d.ts} +1 -1
  13. package/api/BackgroundTasksFeature.js +61 -0
  14. package/api/BackgroundTasksFeature.js.map +1 -0
  15. package/api/TasksCrud.d.ts +10 -0
  16. package/api/TasksCrud.js +5 -0
  17. package/api/TasksCrud.js.map +1 -0
  18. package/api/abstractions/Timer.d.ts +1 -0
  19. package/api/abstractions/Timer.js +0 -0
  20. package/api/abstractions/index.d.ts +1 -0
  21. package/api/abstractions/index.js +1 -0
  22. package/api/crud/TaskLogPrivateModel.js +2 -1
  23. package/api/crud/TaskLogPrivateModel.js.map +1 -1
  24. package/api/crud/TaskPrivateModel.js +2 -1
  25. package/api/crud/TaskPrivateModel.js.map +1 -1
  26. package/api/crud/cleanupTaskSubtree.d.ts +2 -2
  27. package/api/crud/cleanupTaskSubtree.js +8 -7
  28. package/api/crud/cleanupTaskSubtree.js.map +1 -1
  29. package/api/crud/crud.tasks.d.ts +3 -2
  30. package/api/crud/crud.tasks.js +46 -44
  31. package/api/crud/crud.tasks.js.map +1 -1
  32. package/api/crud/definition.tasks.d.ts +3 -2
  33. package/api/crud/definition.tasks.js +4 -4
  34. package/api/crud/definition.tasks.js.map +1 -1
  35. package/api/crud/service.tasks.d.ts +3 -2
  36. package/api/crud/service.tasks.js +25 -21
  37. package/api/crud/service.tasks.js.map +1 -1
  38. package/api/decorators/{SelfCleaningTaskDecorator.d.ts → SelfCleaningTaskHandlerDecorator.d.ts} +21 -18
  39. package/api/decorators/SelfCleaningTaskHandlerDecorator.js +69 -0
  40. package/api/decorators/SelfCleaningTaskHandlerDecorator.js.map +1 -0
  41. package/api/decorators/TaskDefinitionDefaultsDecorator.d.ts +27 -0
  42. package/api/decorators/TaskDefinitionDefaultsDecorator.js +47 -0
  43. package/api/decorators/TaskDefinitionDefaultsDecorator.js.map +1 -0
  44. package/api/domain/TaskService.d.ts +12 -0
  45. package/api/domain/TaskService.js +5 -0
  46. package/api/domain/TaskService.js.map +1 -0
  47. package/api/features/AbortTask/AbortTaskUseCase.d.ts +2 -3
  48. package/api/features/AbortTask/AbortTaskUseCase.js +3 -3
  49. package/api/features/AbortTask/AbortTaskUseCase.js.map +1 -1
  50. package/api/features/AbortTask/feature.d.ts +1 -2
  51. package/api/features/AbortTask/feature.js +3 -2
  52. package/api/features/AbortTask/feature.js.map +1 -1
  53. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.d.ts +3 -3
  54. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js +3 -3
  55. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js.map +1 -1
  56. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js +7 -4
  57. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js.map +1 -1
  58. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.d.ts +13 -0
  59. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.js +51 -0
  60. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.js.map +1 -0
  61. package/api/features/{GetTaskDefinition → GetRunnableTaskDefinition}/abstractions.d.ts +6 -6
  62. package/api/features/GetRunnableTaskDefinition/abstractions.js +5 -0
  63. package/api/features/GetRunnableTaskDefinition/abstractions.js.map +1 -0
  64. package/api/features/GetRunnableTaskDefinition/feature.d.ts +4 -0
  65. package/api/features/GetRunnableTaskDefinition/feature.js +11 -0
  66. package/api/features/GetRunnableTaskDefinition/feature.js.map +1 -0
  67. package/api/features/GetRunnableTaskDefinition/index.d.ts +2 -0
  68. package/api/features/GetRunnableTaskDefinition/index.js +2 -0
  69. package/api/features/GetTask/GetTaskUseCase.d.ts +3 -3
  70. package/api/features/GetTask/GetTaskUseCase.js +3 -3
  71. package/api/features/GetTask/GetTaskUseCase.js.map +1 -1
  72. package/api/features/GetTask/feature.d.ts +1 -2
  73. package/api/features/GetTask/feature.js +3 -2
  74. package/api/features/GetTask/feature.js.map +1 -1
  75. package/api/features/ListTasks/ListTasksUseCase.d.ts +4 -3
  76. package/api/features/ListTasks/ListTasksUseCase.js +3 -3
  77. package/api/features/ListTasks/ListTasksUseCase.js.map +1 -1
  78. package/api/features/ListTasks/feature.d.ts +1 -2
  79. package/api/features/ListTasks/feature.js +3 -2
  80. package/api/features/ListTasks/feature.js.map +1 -1
  81. package/api/features/TaskExecutionContext/TaskExecutionContext.d.ts +3 -3
  82. package/api/features/TaskExecutionContext/TaskExecutionContext.js.map +1 -1
  83. package/api/features/TaskExecutionContext/abstractions.d.ts +3 -3
  84. package/api/features/TaskExecutionContext/abstractions.js.map +1 -1
  85. package/api/features/TaskHandlerResolver/TaskHandlerResolver.d.ts +12 -0
  86. package/api/features/TaskHandlerResolver/TaskHandlerResolver.js +19 -0
  87. package/api/features/TaskHandlerResolver/TaskHandlerResolver.js.map +1 -0
  88. package/api/features/TaskHandlerResolver/abstractions.d.ts +17 -0
  89. package/api/features/TaskHandlerResolver/abstractions.js +5 -0
  90. package/api/features/TaskHandlerResolver/abstractions.js.map +1 -0
  91. package/api/features/TaskHandlerResolver/feature.d.ts +9 -0
  92. package/api/features/TaskHandlerResolver/feature.js +11 -0
  93. package/api/features/TaskHandlerResolver/feature.js.map +1 -0
  94. package/api/features/TaskHandlerResolver/index.d.ts +2 -0
  95. package/api/features/TaskHandlerResolver/index.js +2 -0
  96. package/api/features/TriggerTask/TriggerTaskUseCase.d.ts +2 -3
  97. package/api/features/TriggerTask/TriggerTaskUseCase.js +3 -3
  98. package/api/features/TriggerTask/TriggerTaskUseCase.js.map +1 -1
  99. package/api/features/TriggerTask/feature.d.ts +1 -2
  100. package/api/features/TriggerTask/feature.js +3 -2
  101. package/api/features/TriggerTask/feature.js.map +1 -1
  102. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js +6 -3
  103. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js.map +1 -1
  104. package/api/graphql/BackgroundTasksGraphQLSchema.d.ts +27 -0
  105. package/api/graphql/BackgroundTasksGraphQLSchema.js +441 -0
  106. package/api/graphql/BackgroundTasksGraphQLSchema.js.map +1 -0
  107. package/api/graphql/checkPermissions.js +2 -1
  108. package/api/graphql/checkPermissions.js.map +1 -1
  109. package/api/graphql/utils.d.ts +1 -1
  110. package/api/graphql/utils.js +1 -1
  111. package/api/graphql/utils.js.map +1 -1
  112. package/api/handler/types.d.ts +0 -2
  113. package/api/index.d.ts +10 -3
  114. package/api/index.js +9 -3
  115. package/api/response/DatabaseResponse.js +1 -1
  116. package/api/response/DatabaseResponse.js.map +1 -1
  117. package/api/runner/TaskControl.d.ts +25 -1
  118. package/api/runner/TaskControl.js +30 -17
  119. package/api/runner/TaskControl.js.map +1 -1
  120. package/api/runner/TaskManager.d.ts +12 -1
  121. package/api/runner/TaskManager.js +8 -6
  122. package/api/runner/TaskManager.js.map +1 -1
  123. package/api/runner/TaskManagerStore.d.ts +10 -2
  124. package/api/runner/TaskManagerStore.js +5 -3
  125. package/api/runner/TaskManagerStore.js.map +1 -1
  126. package/api/runner/TaskRunner.d.ts +3 -3
  127. package/api/runner/TaskRunner.js +25 -4
  128. package/api/runner/TaskRunner.js.map +1 -1
  129. package/api/runner/abstractions/TaskRunner.d.ts +2 -2
  130. package/api/service/createService.d.ts +3 -3
  131. package/api/service/createService.js +5 -10
  132. package/api/service/createService.js.map +1 -1
  133. package/api/service/index.d.ts +1 -4
  134. package/api/service/index.js +1 -12
  135. package/api/tasks/testingRunTask.d.ts +10 -2
  136. package/api/tasks/testingRunTask.js +10 -3
  137. package/api/tasks/testingRunTask.js.map +1 -1
  138. package/api/types.d.ts +2 -2
  139. package/api/types.js.map +1 -1
  140. package/package.json +25 -23
  141. package/testing/index.d.ts +3 -0
  142. package/testing/index.js +2 -0
  143. package/testing/mockTaskTriggerTransportPlugin.d.ts +2 -0
  144. package/testing/mockTaskTriggerTransportPlugin.js +18 -0
  145. package/testing/mockTaskTriggerTransportPlugin.js.map +1 -0
  146. package/testing/runner.d.ts +19 -0
  147. package/testing/runner.js +44 -0
  148. package/testing/runner.js.map +1 -0
  149. package/api/context.d.ts +0 -2
  150. package/api/context.js +0 -66
  151. package/api/context.js.map +0 -1
  152. package/api/decorators/RunnableTaskDecorator.d.ts +0 -32
  153. package/api/decorators/RunnableTaskDecorator.js +0 -69
  154. package/api/decorators/RunnableTaskDecorator.js.map +0 -1
  155. package/api/decorators/SelfCleaningTaskDecorator.js +0 -84
  156. package/api/decorators/SelfCleaningTaskDecorator.js.map +0 -1
  157. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.d.ts +0 -12
  158. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.js +0 -27
  159. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.js.map +0 -1
  160. package/api/features/GetTaskDefinition/abstractions.js +0 -5
  161. package/api/features/GetTaskDefinition/abstractions.js.map +0 -1
  162. package/api/features/GetTaskDefinition/feature.js +0 -11
  163. package/api/features/GetTaskDefinition/feature.js.map +0 -1
  164. package/api/features/GetTaskDefinition/index.d.ts +0 -2
  165. package/api/features/GetTaskDefinition/index.js +0 -2
  166. package/api/graphql/BackgroundTaskSettingsSchema.d.ts +0 -2
  167. package/api/graphql/BackgroundTaskSettingsSchema.js +0 -84
  168. package/api/graphql/BackgroundTaskSettingsSchema.js.map +0 -1
  169. package/api/graphql/index.d.ts +0 -2
  170. package/api/graphql/index.js +0 -301
  171. package/api/graphql/index.js.map +0 -1
  172. package/api/handler/index.d.ts +0 -6
  173. package/api/handler/index.js +0 -55
  174. package/api/handler/index.js.map +0 -1
  175. package/api/handler/register.d.ts +0 -1
  176. package/api/handler/register.js +0 -15
  177. package/api/handler/register.js.map +0 -1
  178. package/api/plugins/TaskServicePlugin.d.ts +0 -19
  179. package/api/plugins/TaskServicePlugin.js +0 -13
  180. package/api/plugins/TaskServicePlugin.js.map +0 -1
  181. package/api/plugins/index.d.ts +0 -1
  182. package/api/plugins/index.js +0 -1
  183. package/api/service/EventBridgeEventTransportPlugin.d.ts +0 -16
  184. package/api/service/EventBridgeEventTransportPlugin.js +0 -52
  185. package/api/service/EventBridgeEventTransportPlugin.js.map +0 -1
  186. package/api/service/StepFunctionServicePlugin.d.ts +0 -25
  187. package/api/service/StepFunctionServicePlugin.js +0 -77
  188. package/api/service/StepFunctionServicePlugin.js.map +0 -1
  189. package/api/service/index.js.map +0 -1
@@ -1,84 +0,0 @@
1
- import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
- import { normalizeSelfCleanup } from "../utils/normalizeSelfCleanup.js";
3
- import { CleanupTaskSubtreeUseCase } from "../features/CleanupTaskSubtree/index.js";
4
- import { getErrorProperties } from "../utils/getErrorProperties.js";
5
- class SelfCleaningTaskDecoratorImpl {
6
- constructor(cleanupTaskSubtree, decoratee){
7
- this.cleanupTaskSubtree = cleanupTaskSubtree;
8
- this.decoratee = decoratee;
9
- this.events = normalizeSelfCleanup(decoratee.selfCleanup);
10
- }
11
- get id() {
12
- return this.decoratee.id;
13
- }
14
- get title() {
15
- return this.decoratee.title;
16
- }
17
- get description() {
18
- return this.decoratee.description;
19
- }
20
- get isPrivate() {
21
- return this.decoratee.isPrivate;
22
- }
23
- get maxIterations() {
24
- return this.decoratee.maxIterations;
25
- }
26
- get selfCleanup() {
27
- return this.decoratee.selfCleanup;
28
- }
29
- get createInputValidation() {
30
- return this.decoratee.createInputValidation;
31
- }
32
- get run() {
33
- return this.decoratee.run.bind(this.decoratee);
34
- }
35
- get onBeforeTrigger() {
36
- return this.decoratee.onBeforeTrigger?.bind(this.decoratee);
37
- }
38
- get onMaxIterations() {
39
- return this.decoratee.onMaxIterations?.bind(this.decoratee);
40
- }
41
- get databaseLogs() {
42
- if (this.events.size > 0) return false;
43
- return this.decoratee.databaseLogs;
44
- }
45
- get onDone() {
46
- return async (params)=>{
47
- await this.safeCall(this.decoratee.onDone, params, "onDone");
48
- if (this.events.has("onSuccess")) await this.runCleanup(params);
49
- };
50
- }
51
- get onError() {
52
- return async (params)=>{
53
- await this.safeCall(this.decoratee.onError, params, "onError");
54
- if (this.events.has("onError")) await this.runCleanup(params);
55
- };
56
- }
57
- get onAbort() {
58
- return async (params)=>{
59
- await this.safeCall(this.decoratee.onAbort, params, "onAbort");
60
- if (this.events.has("onAbort")) await this.runCleanup(params);
61
- };
62
- }
63
- async runCleanup(params) {
64
- await this.cleanupTaskSubtree.execute(params.task.id);
65
- }
66
- async safeCall(hook, params, name) {
67
- if (!hook) return;
68
- try {
69
- await hook.call(this.decoratee, params);
70
- } catch (ex) {
71
- console.error(`Error executing ${name} hook for task "${params.task.id}".`);
72
- console.log(getErrorProperties(ex));
73
- }
74
- }
75
- }
76
- const SelfCleaningTaskDecorator = TaskDefinition.createDecorator({
77
- decorator: SelfCleaningTaskDecoratorImpl,
78
- dependencies: [
79
- CleanupTaskSubtreeUseCase
80
- ]
81
- });
82
- export { SelfCleaningTaskDecorator, SelfCleaningTaskDecoratorImpl };
83
-
84
- //# sourceMappingURL=SelfCleaningTaskDecorator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api/decorators/SelfCleaningTaskDecorator.js","sources":["../../../src/api/decorators/SelfCleaningTaskDecorator.ts"],"sourcesContent":["import { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport type { ISelfCleanupEvent } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { normalizeSelfCleanup } from \"~/api/utils/normalizeSelfCleanup.js\";\nimport { CleanupTaskSubtreeUseCase } from \"~/api/features/CleanupTaskSubtree/index.js\";\nimport { getErrorProperties } from \"~/api/utils/getErrorProperties.js\";\n\ntype LifecycleHook = TaskDefinition.Interface[\"onDone\"];\ntype HookParams = Parameters<NonNullable<LifecycleHook>>[0];\n\nexport class SelfCleaningTaskDecoratorImpl implements TaskDefinition.Interface {\n private readonly events: ReadonlySet<ISelfCleanupEvent>;\n\n public constructor(\n private readonly cleanupTaskSubtree: CleanupTaskSubtreeUseCase.Interface,\n private decoratee: TaskDefinition.Interface\n ) {\n this.events = normalizeSelfCleanup(decoratee.selfCleanup);\n }\n\n // Pass-through properties.\n get id() {\n return this.decoratee.id;\n }\n get title() {\n return this.decoratee.title;\n }\n get description() {\n return this.decoratee.description;\n }\n get isPrivate() {\n return this.decoratee.isPrivate;\n }\n get maxIterations() {\n return this.decoratee.maxIterations;\n }\n get selfCleanup() {\n return this.decoratee.selfCleanup;\n }\n get createInputValidation() {\n return this.decoratee.createInputValidation;\n }\n get run() {\n return this.decoratee.run.bind(this.decoratee);\n }\n get onBeforeTrigger() {\n return this.decoratee.onBeforeTrigger?.bind(this.decoratee);\n }\n get onMaxIterations() {\n return this.decoratee.onMaxIterations?.bind(this.decoratee);\n }\n\n // databaseLogs override — any non-empty event set forces false.\n get databaseLogs() {\n if (this.events.size > 0) {\n return false;\n }\n return this.decoratee.databaseLogs;\n }\n\n // Always-defined lifecycle hooks. Each runs the user's hook first, then\n // triggers cleanup if the matching event is in the set.\n get onDone() {\n return async (params: HookParams) => {\n await this.safeCall(this.decoratee.onDone, params, \"onDone\");\n if (this.events.has(\"onSuccess\")) {\n await this.runCleanup(params);\n }\n };\n }\n\n get onError() {\n return async (params: HookParams) => {\n await this.safeCall(this.decoratee.onError, params, \"onError\");\n if (this.events.has(\"onError\")) {\n await this.runCleanup(params);\n }\n };\n }\n\n get onAbort() {\n return async (params: HookParams) => {\n await this.safeCall(this.decoratee.onAbort, params, \"onAbort\");\n if (this.events.has(\"onAbort\")) {\n await this.runCleanup(params);\n }\n };\n }\n\n private async runCleanup(params: HookParams): Promise<void> {\n await this.cleanupTaskSubtree.execute(params.task.id);\n }\n\n private async safeCall(\n hook: LifecycleHook | undefined,\n params: HookParams,\n name: string\n ): Promise<void> {\n if (!hook) {\n return;\n }\n try {\n await hook.call(this.decoratee, params);\n } catch (ex) {\n console.error(`Error executing ${name} hook for task \"${params.task.id}\".`);\n console.log(getErrorProperties(ex));\n }\n }\n}\n\nexport const SelfCleaningTaskDecorator = TaskDefinition.createDecorator({\n decorator: SelfCleaningTaskDecoratorImpl,\n dependencies: [CleanupTaskSubtreeUseCase]\n});\n"],"names":["SelfCleaningTaskDecoratorImpl","cleanupTaskSubtree","decoratee","normalizeSelfCleanup","params","hook","name","ex","console","getErrorProperties","SelfCleaningTaskDecorator","TaskDefinition","CleanupTaskSubtreeUseCase"],"mappings":";;;;AASO,MAAMA;IAGT,YACqBC,kBAAuD,EAChEC,SAAmC,CAC7C;aAFmBD,kBAAkB,GAAlBA;aACTC,SAAS,GAATA;QAER,IAAI,CAAC,MAAM,GAAGC,qBAAqBD,UAAU,WAAW;IAC5D;IAGA,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;IAC5B;IACA,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK;IAC/B;IACA,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW;IACrC;IACA,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS;IACnC;IACA,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa;IACvC;IACA,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW;IACrC;IACA,IAAI,wBAAwB;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,qBAAqB;IAC/C;IACA,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS;IACjD;IACA,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,SAAS;IAC9D;IACA,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,SAAS;IAC9D;IAGA,IAAI,eAAe;QACf,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,GACnB,OAAO;QAEX,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY;IACtC;IAIA,IAAI,SAAS;QACT,OAAO,OAAOE;YACV,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAEA,QAAQ;YACnD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAChB,MAAM,IAAI,CAAC,UAAU,CAACA;QAE9B;IACJ;IAEA,IAAI,UAAU;QACV,OAAO,OAAOA;YACV,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAEA,QAAQ;YACpD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAChB,MAAM,IAAI,CAAC,UAAU,CAACA;QAE9B;IACJ;IAEA,IAAI,UAAU;QACV,OAAO,OAAOA;YACV,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAEA,QAAQ;YACpD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAChB,MAAM,IAAI,CAAC,UAAU,CAACA;QAE9B;IACJ;IAEA,MAAc,WAAWA,MAAkB,EAAiB;QACxD,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACA,OAAO,IAAI,CAAC,EAAE;IACxD;IAEA,MAAc,SACVC,IAA+B,EAC/BD,MAAkB,EAClBE,IAAY,EACC;QACb,IAAI,CAACD,MACD;QAEJ,IAAI;YACA,MAAMA,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAED;QACpC,EAAE,OAAOG,IAAI;YACTC,QAAQ,KAAK,CAAC,CAAC,gBAAgB,EAAEF,KAAK,gBAAgB,EAAEF,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1EI,QAAQ,GAAG,CAACC,mBAAmBF;QACnC;IACJ;AACJ;AAEO,MAAMG,4BAA4BC,eAAe,eAAe,CAAC;IACpE,WAAWX;IACX,cAAc;QAACY;KAA0B;AAC7C"}
@@ -1,12 +0,0 @@
1
- import { Result } from "@webiny/feature/api";
2
- import { GetTaskDefinitionUseCase as UseCaseAbstraction } from "./abstractions.js";
3
- import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
4
- declare class GetTaskDefinitionUseCaseImpl implements UseCaseAbstraction.Interface {
5
- private definitions;
6
- constructor(definitions: TaskDefinition.Interface[]);
7
- execute<I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput, O extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput>(id: string): Result<TaskDefinition.Runnable<I, O>, UseCaseAbstraction.Error>;
8
- }
9
- export declare const GetTaskDefinitionUseCase: typeof GetTaskDefinitionUseCaseImpl & {
10
- __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetTaskDefinitionUseCase>;
11
- };
12
- export {};
@@ -1,27 +0,0 @@
1
- import { Result } from "@webiny/feature/api";
2
- import { GetTaskDefinitionUseCase } from "./abstractions.js";
3
- import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
4
- import { TaskDefinitionNotFoundError } from "../../domain/errors.js";
5
- class GetTaskDefinitionUseCaseImpl {
6
- constructor(definitions){
7
- this.definitions = definitions;
8
- }
9
- execute(id) {
10
- for (const definition of this.definitions)if (definition.id === id) return Result.ok(definition);
11
- return Result.fail(new TaskDefinitionNotFoundError(id));
12
- }
13
- }
14
- const GetTaskDefinitionUseCase_GetTaskDefinitionUseCase = GetTaskDefinitionUseCase.createImplementation({
15
- implementation: GetTaskDefinitionUseCaseImpl,
16
- dependencies: [
17
- [
18
- TaskDefinition,
19
- {
20
- multiple: true
21
- }
22
- ]
23
- ]
24
- });
25
- export { GetTaskDefinitionUseCase_GetTaskDefinitionUseCase as GetTaskDefinitionUseCase };
26
-
27
- //# sourceMappingURL=GetTaskDefinitionUseCase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api/features/GetTaskDefinition/GetTaskDefinitionUseCase.js","sources":["../../../../src/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetTaskDefinitionUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { TaskDefinitionNotFoundError } from \"~/api/domain/errors.js\";\n\nclass GetTaskDefinitionUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private definitions: TaskDefinition.Interface[]) {}\n\n public execute<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput\n >(id: string): Result<TaskDefinition.Runnable<I, O>, UseCaseAbstraction.Error> {\n for (const definition of this.definitions) {\n if (definition.id === id) {\n return Result.ok(definition as TaskDefinition.Runnable<I, O>);\n }\n }\n\n return Result.fail(new TaskDefinitionNotFoundError(id));\n }\n}\n\nexport const GetTaskDefinitionUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetTaskDefinitionUseCaseImpl,\n dependencies: [[TaskDefinition, { multiple: true }]]\n});\n"],"names":["GetTaskDefinitionUseCaseImpl","definitions","id","definition","Result","TaskDefinitionNotFoundError","GetTaskDefinitionUseCase","UseCaseAbstraction","TaskDefinition"],"mappings":";;;;AAKA,MAAMA;IACF,YAA2BC,WAAuC,CAAE;aAAzCA,WAAW,GAAXA;IAA0C;IAE9D,QAGLC,EAAU,EAAmE;QAC3E,KAAK,MAAMC,cAAc,IAAI,CAAC,WAAW,CACrC,IAAIA,WAAW,EAAE,KAAKD,IAClB,OAAOE,OAAO,EAAE,CAACD;QAIzB,OAAOC,OAAO,IAAI,CAAC,IAAIC,4BAA4BH;IACvD;AACJ;AAEO,MAAMI,oDAA2BC,yBAAAA,oBAAuC,CAAC;IAC5E,gBAAgBP;IAChB,cAAc;QAAC;YAACQ;YAAgB;gBAAE,UAAU;YAAK;SAAE;KAAC;AACxD"}
@@ -1,5 +0,0 @@
1
- import { createAbstraction } from "@webiny/feature/api";
2
- const GetTaskDefinitionUseCase = createAbstraction("Tasks/GetTaskDefinitionUseCase");
3
- export { GetTaskDefinitionUseCase };
4
-
5
- //# sourceMappingURL=abstractions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api/features/GetTaskDefinition/abstractions.js","sources":["../../../../src/api/features/GetTaskDefinition/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport type { TaskDefinitionNotFoundError } from \"~/api/domain/errors.js\";\n\nexport interface IGetTaskDefinitionUseCase {\n execute<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput\n >(\n id: string\n ): Result<TaskDefinition.Runnable<I, O>, UseCaseError>;\n}\n\nexport interface IGetTaskDefinitionUseCaseErrors {\n notFound: TaskDefinitionNotFoundError;\n}\n\ntype UseCaseError = IGetTaskDefinitionUseCaseErrors[keyof IGetTaskDefinitionUseCaseErrors];\n\nexport const GetTaskDefinitionUseCase = createAbstraction<IGetTaskDefinitionUseCase>(\n \"Tasks/GetTaskDefinitionUseCase\"\n);\n\nexport namespace GetTaskDefinitionUseCase {\n export type Interface = IGetTaskDefinitionUseCase;\n\n export type Error = UseCaseError;\n export type Return<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput\n > = Result<TaskDefinition.Runnable<I, O>, UseCaseError>;\n}\n"],"names":["GetTaskDefinitionUseCase","createAbstraction"],"mappings":";AAoBO,MAAMA,2BAA2BC,kBACpC"}
@@ -1,11 +0,0 @@
1
- import { createFeature } from "@webiny/feature/api";
2
- import { GetTaskDefinitionUseCase } from "./GetTaskDefinitionUseCase.js";
3
- const GetTaskDefinitionFeature = createFeature({
4
- name: "GetTaskDefinition",
5
- register (container) {
6
- container.register(GetTaskDefinitionUseCase);
7
- }
8
- });
9
- export { GetTaskDefinitionFeature };
10
-
11
- //# sourceMappingURL=feature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api/features/GetTaskDefinition/feature.js","sources":["../../../../src/api/features/GetTaskDefinition/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetTaskDefinitionUseCase } from \"./GetTaskDefinitionUseCase.js\";\n\nexport const GetTaskDefinitionFeature = createFeature({\n name: \"GetTaskDefinition\",\n register(container) {\n container.register(GetTaskDefinitionUseCase);\n }\n});\n"],"names":["GetTaskDefinitionFeature","createFeature","container","GetTaskDefinitionUseCase"],"mappings":";;AAGO,MAAMA,2BAA2BC,cAAc;IAClD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,2 +0,0 @@
1
- export { GetTaskDefinitionUseCase } from "./abstractions.js";
2
- export { GetTaskDefinitionFeature } from "./feature.js";
@@ -1,2 +0,0 @@
1
- export { GetTaskDefinitionUseCase } from "./abstractions.js";
2
- export { GetTaskDefinitionFeature } from "./feature.js";
@@ -1,2 +0,0 @@
1
- import type { Plugin } from "@webiny/plugins/types.js";
2
- export declare const createBackgroundTaskSettingsGraphQL: () => Plugin[];
@@ -1,84 +0,0 @@
1
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
2
- import { ContextPlugin } from "@webiny/handler";
3
- import { GetBackgroundTaskSettingsRepository } from "../features/GetBackgroundTaskSettings/abstractions.js";
4
- import { UpdateBackgroundTaskSettingsUseCase } from "../features/UpdateBackgroundTaskSettings/abstractions.js";
5
- import { checkPermissions } from "./checkPermissions.js";
6
- const resolve = async (fn)=>{
7
- try {
8
- const data = await fn();
9
- return {
10
- data,
11
- error: null
12
- };
13
- } catch (error) {
14
- return {
15
- data: null,
16
- error: {
17
- message: error.message,
18
- code: error.code,
19
- data: error.data
20
- }
21
- };
22
- }
23
- };
24
- const createBackgroundTaskSettingsGraphQL = ()=>{
25
- const plugin = new ContextPlugin(async (ctx)=>{
26
- if (!ctx.tenancy.getCurrentTenant()) return;
27
- const schema = new GraphQLSchemaPlugin({
28
- typeDefs: `
29
- type WebinyBackgroundTaskSettings {
30
- retentionDays: Int
31
- }
32
-
33
- type WebinyBackgroundTaskSettingsResponse {
34
- data: WebinyBackgroundTaskSettings
35
- error: WebinyBackgroundTaskError
36
- }
37
-
38
- input UpdateBackgroundTaskSettingsInput {
39
- retentionDays: Int
40
- }
41
-
42
- extend type WebinyBackgroundTaskQuery {
43
- getSettings: WebinyBackgroundTaskSettingsResponse
44
- }
45
-
46
- extend type WebinyBackgroundTaskMutation {
47
- updateSettings(
48
- input: UpdateBackgroundTaskSettingsInput!
49
- ): WebinyBackgroundTaskSettingsResponse
50
- }
51
- `,
52
- resolvers: {
53
- WebinyBackgroundTaskQuery: {
54
- getSettings: async (_, __, context)=>resolve(async ()=>{
55
- await checkPermissions(context, {
56
- rwd: "r"
57
- });
58
- const repository = context.container.resolve(GetBackgroundTaskSettingsRepository);
59
- const result = await repository.execute();
60
- if (result.isFail()) throw result.error;
61
- return result.value;
62
- })
63
- },
64
- WebinyBackgroundTaskMutation: {
65
- updateSettings: async (_, args, context)=>resolve(async ()=>{
66
- const useCase = context.container.resolve(UpdateBackgroundTaskSettingsUseCase);
67
- const result = await useCase.execute(args.input);
68
- if (result.isFail()) throw result.error;
69
- return result.value;
70
- })
71
- }
72
- }
73
- });
74
- schema.name = "backgroundTasks.settings.graphql.schema";
75
- ctx.plugins.register(schema);
76
- });
77
- plugin.name = "backgroundTasks.settings.graphql";
78
- return [
79
- plugin
80
- ];
81
- };
82
- export { createBackgroundTaskSettingsGraphQL };
83
-
84
- //# sourceMappingURL=BackgroundTaskSettingsSchema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api/graphql/BackgroundTaskSettingsSchema.js","sources":["../../../src/api/graphql/BackgroundTaskSettingsSchema.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { ContextPlugin } from \"@webiny/handler\";\nimport type { Context } from \"~/api/types.js\";\nimport { GetBackgroundTaskSettingsRepository } from \"~/api/features/GetBackgroundTaskSettings/abstractions.js\";\nimport { UpdateBackgroundTaskSettingsUseCase } from \"~/api/features/UpdateBackgroundTaskSettings/abstractions.js\";\nimport type { IUpdateBackgroundTaskSettingsInput } from \"~/api/features/UpdateBackgroundTaskSettings/abstractions.js\";\nimport type { Plugin } from \"@webiny/plugins/types.js\";\nimport { checkPermissions } from \"./checkPermissions.js\";\n\ninterface IUpdateSettingsArgs {\n input: IUpdateBackgroundTaskSettingsInput;\n}\n\nconst resolve = async <T = unknown>(fn: () => Promise<T>) => {\n try {\n const data = await fn();\n return { data, error: null };\n } catch (error: any) {\n return {\n data: null,\n error: {\n message: error.message,\n code: error.code,\n data: error.data\n }\n };\n }\n};\n\nexport const createBackgroundTaskSettingsGraphQL = (): Plugin[] => {\n const plugin = new ContextPlugin<Context>(async ctx => {\n if (!ctx.tenancy.getCurrentTenant()) {\n return;\n }\n\n const schema = new GraphQLSchemaPlugin<Context>({\n typeDefs: /* GraphQL */ `\n type WebinyBackgroundTaskSettings {\n retentionDays: Int\n }\n\n type WebinyBackgroundTaskSettingsResponse {\n data: WebinyBackgroundTaskSettings\n error: WebinyBackgroundTaskError\n }\n\n input UpdateBackgroundTaskSettingsInput {\n retentionDays: Int\n }\n\n extend type WebinyBackgroundTaskQuery {\n getSettings: WebinyBackgroundTaskSettingsResponse\n }\n\n extend type WebinyBackgroundTaskMutation {\n updateSettings(\n input: UpdateBackgroundTaskSettingsInput!\n ): WebinyBackgroundTaskSettingsResponse\n }\n `,\n resolvers: {\n WebinyBackgroundTaskQuery: {\n getSettings: async (_, __, context) => {\n return resolve(async () => {\n await checkPermissions(context, { rwd: \"r\" });\n const repository = context.container.resolve(\n GetBackgroundTaskSettingsRepository\n );\n const result = await repository.execute();\n if (result.isFail()) {\n throw result.error;\n }\n return result.value;\n });\n }\n },\n WebinyBackgroundTaskMutation: {\n updateSettings: async (_, args: IUpdateSettingsArgs, context) => {\n return resolve(async () => {\n const useCase = context.container.resolve(\n UpdateBackgroundTaskSettingsUseCase\n );\n const result = await useCase.execute(args.input);\n if (result.isFail()) {\n throw result.error;\n }\n return result.value;\n });\n }\n }\n }\n });\n\n schema.name = \"backgroundTasks.settings.graphql.schema\";\n ctx.plugins.register(schema);\n });\n\n plugin.name = \"backgroundTasks.settings.graphql\";\n\n return [plugin];\n};\n"],"names":["resolve","fn","data","error","createBackgroundTaskSettingsGraphQL","plugin","ContextPlugin","ctx","schema","GraphQLSchemaPlugin","_","__","context","checkPermissions","repository","GetBackgroundTaskSettingsRepository","result","args","useCase","UpdateBackgroundTaskSettingsUseCase"],"mappings":";;;;;AAaA,MAAMA,UAAU,OAAoBC;IAChC,IAAI;QACA,MAAMC,OAAO,MAAMD;QACnB,OAAO;YAAEC;YAAM,OAAO;QAAK;IAC/B,EAAE,OAAOC,OAAY;QACjB,OAAO;YACH,MAAM;YACN,OAAO;gBACH,SAASA,MAAM,OAAO;gBACtB,MAAMA,MAAM,IAAI;gBAChB,MAAMA,MAAM,IAAI;YACpB;QACJ;IACJ;AACJ;AAEO,MAAMC,sCAAsC;IAC/C,MAAMC,SAAS,IAAIC,cAAuB,OAAMC;QAC5C,IAAI,CAACA,IAAI,OAAO,CAAC,gBAAgB,IAC7B;QAGJ,MAAMC,SAAS,IAAIC,oBAA6B;YAC5C,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;YAuBzB,CAAC;YACD,WAAW;gBACP,2BAA2B;oBACvB,aAAa,OAAOC,GAAGC,IAAIC,UAChBZ,QAAQ;4BACX,MAAMa,iBAAiBD,SAAS;gCAAE,KAAK;4BAAI;4BAC3C,MAAME,aAAaF,QAAQ,SAAS,CAAC,OAAO,CACxCG;4BAEJ,MAAMC,SAAS,MAAMF,WAAW,OAAO;4BACvC,IAAIE,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;4BAEtB,OAAOA,OAAO,KAAK;wBACvB;gBAER;gBACA,8BAA8B;oBAC1B,gBAAgB,OAAON,GAAGO,MAA2BL,UAC1CZ,QAAQ;4BACX,MAAMkB,UAAUN,QAAQ,SAAS,CAAC,OAAO,CACrCO;4BAEJ,MAAMH,SAAS,MAAME,QAAQ,OAAO,CAACD,KAAK,KAAK;4BAC/C,IAAID,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;4BAEtB,OAAOA,OAAO,KAAK;wBACvB;gBAER;YACJ;QACJ;QAEAR,OAAO,IAAI,GAAG;QACdD,IAAI,OAAO,CAAC,QAAQ,CAACC;IACzB;IAEAH,OAAO,IAAI,GAAG;IAEd,OAAO;QAACA;KAAO;AACnB"}
@@ -1,2 +0,0 @@
1
- import type { Plugin } from "@webiny/plugins/types.js";
2
- export declare const createBackgroundTaskGraphQL: () => Plugin[];
@@ -1,301 +0,0 @@
1
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
2
- import { renderSortEnum } from "@webiny/api-headless-cms/utils/renderSortEnum.js";
3
- import { ContextPlugin } from "@webiny/handler";
4
- import { renderListFilterFields } from "@webiny/api-headless-cms/utils/renderListFilterFields.js";
5
- import { emptyResolver, resolve, resolveList } from "./utils.js";
6
- import { renderFields } from "@webiny/api-headless-cms/utils/renderFields.js";
7
- import { checkPermissions } from "./checkPermissions.js";
8
- import { ListModelsUseCase } from "@webiny/api-headless-cms/features/contentModel/ListModels/index.js";
9
- import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
10
- const createGraphQL = ()=>{
11
- const plugin = new ContextPlugin(async (ctx)=>{
12
- if (!ctx.tenancy.getCurrentTenant()) return;
13
- const taskModel = await ctx.tasks.getTaskModel();
14
- const logModel = await ctx.tasks.getLogModel();
15
- const listModels = ctx.container.resolve(ListModelsUseCase);
16
- const fieldRegistry = ctx.container.resolve(CmsModelFieldToGraphQLRegistry);
17
- const modelsResult = await ctx.security.withoutAuthorization(async ()=>await listModels.execute({
18
- includePrivate: false
19
- }));
20
- if (modelsResult.isFail()) throw modelsResult.error;
21
- const models = modelsResult.value.filter((model)=>model.fields.length > 0);
22
- const taskFields = renderFields({
23
- models,
24
- model: taskModel,
25
- fields: taskModel.fields,
26
- type: "manage",
27
- fieldRegistry
28
- });
29
- const logFields = renderFields({
30
- models,
31
- model: logModel,
32
- fields: logModel.fields.filter((field)=>"task" !== field.fieldId),
33
- type: "manage",
34
- fieldRegistry
35
- });
36
- const listTasksFilterFieldsRender = renderListFilterFields({
37
- model: taskModel,
38
- fields: taskModel.fields,
39
- type: "manage",
40
- fieldRegistry,
41
- excludeFields: [
42
- "entryId"
43
- ]
44
- });
45
- const listLogsFilterFieldsRender = renderListFilterFields({
46
- model: logModel,
47
- fields: logModel.fields,
48
- type: "manage",
49
- fieldRegistry,
50
- excludeFields: [
51
- "entryId"
52
- ]
53
- });
54
- const sortTasksEnumRender = renderSortEnum({
55
- model: taskModel,
56
- fields: taskModel.fields,
57
- fieldRegistry,
58
- sorters: []
59
- });
60
- const sortLogsEnumRender = renderSortEnum({
61
- model: logModel,
62
- fields: logModel.fields,
63
- fieldRegistry,
64
- sorters: []
65
- });
66
- const plugin = new GraphQLSchemaPlugin({
67
- typeDefs: `
68
- type WebinyBackgroundTaskError {
69
- message: String
70
- code: String
71
- data: JSON
72
- stack: String
73
- }
74
-
75
- ${taskFields.map((f)=>f.typeDefs).join("\n")}
76
- ${logFields.map((f)=>f.typeDefs).join("\n")}
77
-
78
- type WebinyBackgroundTask {
79
- id: String!
80
- createdOn: DateTime!
81
- savedOn: DateTime
82
- createdBy: WebinyBackgroundTaskIdentity!
83
- logs(
84
- where: WebinyBackgroundTaskLogListWhereInput
85
- limit: Number
86
- sort: [WebinyBackgroundTaskLogListSorter!]
87
- ): [WebinyBackgroundTaskLog!]!
88
- ${taskFields.map((f)=>f.fields).join("\n")}
89
- }
90
-
91
- type WebinyBackgroundTaskResponse {
92
- data: WebinyBackgroundTask
93
- error: WebinyBackgroundTaskError
94
- }
95
-
96
- type WebinyBackgroundTaskMeta {
97
- cursor: String
98
- hasMoreItems: Boolean!
99
- totalCount: Int!
100
- }
101
-
102
- type WebinyBackgroundTaskListResponse {
103
- data: [WebinyBackgroundTask!]
104
- meta: WebinyBackgroundTaskMeta
105
- error: WebinyBackgroundTaskError
106
- }
107
-
108
- type WebinyBackgroundTaskLog {
109
- id: String!
110
- createdOn: DateTime!
111
- createdBy: WebinyBackgroundTaskIdentity!
112
- task: WebinyBackgroundTask!
113
- ${logFields.map((f)=>f.fields).join("\n")}
114
- }
115
-
116
- type WebinyBackgroundTaskLogListResponse {
117
- data: [WebinyBackgroundTaskLog!]
118
- meta: WebinyBackgroundTaskMeta
119
- error: WebinyBackgroundTaskError
120
- }
121
-
122
- type WebinyBackgroundTaskDefinition {
123
- id: String!
124
- title: String!
125
- description: String
126
- }
127
-
128
- type WebinyBackgroundTaskListDefinitionsResponse {
129
- data: [WebinyBackgroundTaskDefinition!]
130
- error: WebinyBackgroundTaskError
131
- }
132
-
133
- type WebinyBackgroundTaskIdentity {
134
- id: String!
135
- displayName: String!
136
- type: String
137
- }
138
-
139
- type WebinyBackgroundTaskTriggerResponse {
140
- data: WebinyBackgroundTask
141
- error: WebinyBackgroundTaskError
142
- }
143
-
144
- type WebinyBackgroundTaskDeleteResponse {
145
- data: Boolean
146
- error: WebinyBackgroundTaskError
147
- }
148
-
149
- input WebinyBackgroundTaskListWhereInput {
150
- ${listTasksFilterFieldsRender.allFiltersAsString() || "_empty: String"}
151
- }
152
-
153
- input WebinyBackgroundTaskLogListWhereInput {
154
- ${listLogsFilterFieldsRender.allFiltersAsString() || "_empty: String"}
155
- }
156
-
157
- enum WebinyBackgroundTaskListSorter {
158
- ${sortTasksEnumRender}
159
- }
160
-
161
- enum WebinyBackgroundTaskLogListSorter {
162
- ${sortLogsEnumRender}
163
- }
164
-
165
- type WebinyBackgroundTaskQuery {
166
- _empty: String
167
- }
168
-
169
- type WebinyBackgroundTaskMutation {
170
- _empty: String
171
- }
172
-
173
- extend type Query {
174
- backgroundTasks: WebinyBackgroundTaskQuery
175
- }
176
-
177
- extend type Mutation {
178
- backgroundTasks: WebinyBackgroundTaskMutation
179
- }
180
-
181
- extend type WebinyBackgroundTaskQuery {
182
- getTask(id: ID!): WebinyBackgroundTaskResponse!
183
- listTasks(
184
- where: WebinyBackgroundTaskListWhereInput
185
- sort: [WebinyBackgroundTaskListSorter!]
186
- limit: Int
187
- after: String
188
- search: String
189
- ): WebinyBackgroundTaskListResponse!
190
- listDefinitions: WebinyBackgroundTaskListDefinitionsResponse!
191
-
192
- listLogs(
193
- where: WebinyBackgroundTaskLogListWhereInput
194
- sort: [WebinyBackgroundTaskLogListSorter!]
195
- limit: Int
196
- after: String
197
- search: String
198
- ): WebinyBackgroundTaskLogListResponse!
199
- }
200
-
201
- extend type WebinyBackgroundTaskMutation {
202
- triggerTask(definition: String!, input: JSON, name: String, delay: Number): WebinyBackgroundTaskTriggerResponse!
203
- abortTask(id: ID!, message: String): WebinyBackgroundTaskResponse!
204
- deleteTask(id: ID!): WebinyBackgroundTaskDeleteResponse!
205
- }
206
- `,
207
- resolvers: {
208
- Query: {
209
- backgroundTasks: emptyResolver
210
- },
211
- Mutation: {
212
- backgroundTasks: emptyResolver
213
- },
214
- WebinyBackgroundTaskQuery: {
215
- getTask: async (_, args, context)=>resolve(async ()=>{
216
- await checkPermissions(context, {
217
- rwd: "r"
218
- });
219
- return await context.tasks.getTask(args.id);
220
- }),
221
- listTasks: async (_, args, context)=>resolveList(async ()=>{
222
- await checkPermissions(context, {
223
- rwd: "r"
224
- });
225
- return await context.tasks.listTasks(args);
226
- }),
227
- listDefinitions: async (_, __, context)=>resolve(async ()=>{
228
- await checkPermissions(context, {
229
- rwd: "r"
230
- });
231
- const result = context.tasks.listDefinitions();
232
- return result.filter((item)=>!item.isPrivate);
233
- }),
234
- listLogs: async (_, args, context)=>resolveList(async ()=>{
235
- await checkPermissions(context, {
236
- rwd: "r"
237
- });
238
- return await context.tasks.listLogs(args);
239
- })
240
- },
241
- WebinyBackgroundTaskMutation: {
242
- abortTask: async (_, args, context)=>{
243
- await checkPermissions(context, {
244
- rwd: "w"
245
- });
246
- return resolve(async ()=>{
247
- const result = await context.tasks.abort(args);
248
- if (result.isOk()) return result.value;
249
- throw result.error;
250
- });
251
- },
252
- triggerTask: async (_, args, context)=>{
253
- await checkPermissions(context, {
254
- rwd: "w"
255
- });
256
- return resolve(async ()=>{
257
- const result = await context.tasks.trigger(args);
258
- if (result.isOk()) return result.value;
259
- throw result.error;
260
- });
261
- },
262
- deleteTask: async (_, args, context)=>{
263
- await checkPermissions(context, {
264
- rwd: "d"
265
- });
266
- return resolve(async ()=>await context.tasks.deleteTask(args.id));
267
- }
268
- },
269
- WebinyBackgroundTask: {
270
- logs: async (parent, args, context)=>{
271
- const { items } = await context.tasks.listLogs({
272
- sort: [
273
- "createdBy_ASC"
274
- ],
275
- limit: 10000,
276
- ...args,
277
- where: {
278
- ...args?.where,
279
- task: parent.id
280
- }
281
- });
282
- return items;
283
- }
284
- },
285
- WebinyBackgroundTaskLog: {
286
- task: async (parent, _, context)=>await context.tasks.getTask(parent.task)
287
- }
288
- }
289
- });
290
- plugin.name = "tasks.graphql.schema";
291
- ctx.plugins.register(plugin);
292
- });
293
- plugin.name = "tasks.graphql";
294
- return plugin;
295
- };
296
- const createBackgroundTaskGraphQL = ()=>[
297
- createGraphQL()
298
- ];
299
- export { createBackgroundTaskGraphQL };
300
-
301
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api/graphql/index.js","sources":["../../../src/api/graphql/index.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { renderSortEnum } from \"@webiny/api-headless-cms/utils/renderSortEnum.js\";\nimport { ContextPlugin } from \"@webiny/handler\";\nimport type { Context, IListTaskLogParams, IListTaskParams, ITask, ITaskLog } from \"~/api/types.js\";\nimport { renderListFilterFields } from \"@webiny/api-headless-cms/utils/renderListFilterFields.js\";\nimport { emptyResolver, resolve, resolveList } from \"./utils.js\";\nimport { renderFields } from \"@webiny/api-headless-cms/utils/renderFields.js\";\nimport { checkPermissions } from \"./checkPermissions.js\";\nimport type { Plugin } from \"@webiny/plugins/types.js\";\nimport { ListModelsUseCase } from \"@webiny/api-headless-cms/features/contentModel/ListModels/index.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/exports/api/cms/graphql.js\";\n\ninterface IGetTaskQueryParams {\n id: string;\n}\n\ninterface IAbortTaskMutationParams {\n id: string;\n message?: string;\n}\n\ninterface ITriggerTaskMutationParams {\n name?: string;\n definition: string;\n input?: Record<string, any>;\n delay?: number;\n}\n\ninterface IDeleteTaskMutationParams {\n id: string;\n}\n\nconst createGraphQL = () => {\n const plugin = new ContextPlugin<Context>(async ctx => {\n if (!ctx.tenancy.getCurrentTenant()) {\n return;\n }\n\n const taskModel = await ctx.tasks.getTaskModel();\n const logModel = await ctx.tasks.getLogModel();\n\n const listModels = ctx.container.resolve(ListModelsUseCase);\n const fieldRegistry = ctx.container.resolve(CmsModelFieldToGraphQLRegistry);\n\n const modelsResult = await ctx.security.withoutAuthorization(async () => {\n return await listModels.execute({ includePrivate: false });\n });\n if (modelsResult.isFail()) {\n throw modelsResult.error;\n }\n const models = modelsResult.value.filter(model => model.fields.length > 0);\n const taskFields = renderFields({\n models,\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const logFields = renderFields({\n models,\n model: logModel,\n fields: logModel.fields.filter(field => field.fieldId !== \"task\"),\n type: \"manage\",\n fieldRegistry\n });\n\n const listTasksFilterFieldsRender = renderListFilterFields({\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldRegistry,\n excludeFields: [\"entryId\"]\n });\n\n const listLogsFilterFieldsRender = renderListFilterFields({\n model: logModel,\n fields: logModel.fields,\n type: \"manage\",\n fieldRegistry,\n excludeFields: [\"entryId\"]\n });\n\n const sortTasksEnumRender = renderSortEnum({\n model: taskModel,\n fields: taskModel.fields,\n fieldRegistry,\n sorters: []\n });\n\n const sortLogsEnumRender = renderSortEnum({\n model: logModel,\n fields: logModel.fields,\n fieldRegistry,\n sorters: []\n });\n\n const plugin = new GraphQLSchemaPlugin<Context>({\n typeDefs: /* GraphQL */ `\n type WebinyBackgroundTaskError {\n message: String\n code: String\n data: JSON\n stack: String\n }\n\n ${taskFields.map(f => f.typeDefs).join(\"\\n\")}\n ${logFields.map(f => f.typeDefs).join(\"\\n\")}\n\n type WebinyBackgroundTask {\n id: String!\n createdOn: DateTime!\n savedOn: DateTime\n createdBy: WebinyBackgroundTaskIdentity!\n logs(\n where: WebinyBackgroundTaskLogListWhereInput\n limit: Number\n sort: [WebinyBackgroundTaskLogListSorter!]\n ): [WebinyBackgroundTaskLog!]!\n ${taskFields.map(f => f.fields).join(\"\\n\")}\n }\n\n type WebinyBackgroundTaskResponse {\n data: WebinyBackgroundTask\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskMeta {\n cursor: String\n hasMoreItems: Boolean!\n totalCount: Int!\n }\n\n type WebinyBackgroundTaskListResponse {\n data: [WebinyBackgroundTask!]\n meta: WebinyBackgroundTaskMeta\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskLog {\n id: String!\n createdOn: DateTime!\n createdBy: WebinyBackgroundTaskIdentity!\n task: WebinyBackgroundTask!\n ${logFields.map(f => f.fields).join(\"\\n\")}\n }\n\n type WebinyBackgroundTaskLogListResponse {\n data: [WebinyBackgroundTaskLog!]\n meta: WebinyBackgroundTaskMeta\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskDefinition {\n id: String!\n title: String!\n description: String\n }\n\n type WebinyBackgroundTaskListDefinitionsResponse {\n data: [WebinyBackgroundTaskDefinition!]\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskIdentity {\n id: String!\n displayName: String!\n type: String\n }\n\n type WebinyBackgroundTaskTriggerResponse {\n data: WebinyBackgroundTask\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskDeleteResponse {\n data: Boolean\n error: WebinyBackgroundTaskError\n }\n\n input WebinyBackgroundTaskListWhereInput {\n ${listTasksFilterFieldsRender.allFiltersAsString() || \"_empty: String\"}\n }\n\n input WebinyBackgroundTaskLogListWhereInput {\n ${listLogsFilterFieldsRender.allFiltersAsString() || \"_empty: String\"}\n }\n\n enum WebinyBackgroundTaskListSorter {\n ${sortTasksEnumRender}\n }\n\n enum WebinyBackgroundTaskLogListSorter {\n ${sortLogsEnumRender}\n }\n\n type WebinyBackgroundTaskQuery {\n _empty: String\n }\n\n type WebinyBackgroundTaskMutation {\n _empty: String\n }\n\n extend type Query {\n backgroundTasks: WebinyBackgroundTaskQuery\n }\n\n extend type Mutation {\n backgroundTasks: WebinyBackgroundTaskMutation\n }\n\n extend type WebinyBackgroundTaskQuery {\n getTask(id: ID!): WebinyBackgroundTaskResponse!\n listTasks(\n where: WebinyBackgroundTaskListWhereInput\n sort: [WebinyBackgroundTaskListSorter!]\n limit: Int\n after: String\n search: String\n ): WebinyBackgroundTaskListResponse!\n listDefinitions: WebinyBackgroundTaskListDefinitionsResponse!\n\n listLogs(\n where: WebinyBackgroundTaskLogListWhereInput\n sort: [WebinyBackgroundTaskLogListSorter!]\n limit: Int\n after: String\n search: String\n ): WebinyBackgroundTaskLogListResponse!\n }\n\n extend type WebinyBackgroundTaskMutation {\n triggerTask(definition: String!, input: JSON, name: String, delay: Number): WebinyBackgroundTaskTriggerResponse!\n abortTask(id: ID!, message: String): WebinyBackgroundTaskResponse!\n deleteTask(id: ID!): WebinyBackgroundTaskDeleteResponse!\n }\n `,\n resolvers: {\n Query: {\n backgroundTasks: emptyResolver\n },\n Mutation: {\n backgroundTasks: emptyResolver\n },\n WebinyBackgroundTaskQuery: {\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n getTask: async (_, args: IGetTaskQueryParams, context) => {\n return resolve(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.getTask(args.id);\n });\n },\n listTasks: async (_, args: IListTaskParams, context) => {\n return resolveList(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.listTasks(args);\n });\n },\n listDefinitions: async (_, __, context) => {\n return resolve(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n const result = context.tasks.listDefinitions();\n /**\n * Do not output private tasks.\n */\n return result.filter(item => {\n return !item.isPrivate;\n });\n });\n },\n listLogs: async (_, args: IListTaskLogParams, context) => {\n return resolveList(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.listLogs(args);\n });\n }\n },\n WebinyBackgroundTaskMutation: {\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n abortTask: async (_, args: IAbortTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"w\"\n });\n return resolve<ITask>(async () => {\n const result = await context.tasks.abort(args);\n if (result.isOk()) {\n return result.value;\n }\n\n throw result.error;\n });\n },\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n triggerTask: async (_, args: ITriggerTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"w\"\n });\n return resolve<ITask>(async () => {\n const result = await context.tasks.trigger(args);\n if (result.isOk()) {\n return result.value;\n }\n\n throw result.error;\n });\n },\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n deleteTask: async (_, args: IDeleteTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"d\"\n });\n return resolve(async () => {\n return await context.tasks.deleteTask(args.id);\n });\n }\n },\n /**\n * Custom resolvers for fields\n */\n WebinyBackgroundTask: {\n logs: async (parent: ITask, args: IListTaskLogParams, context) => {\n const { items } = await context.tasks.listLogs({\n sort: [\"createdBy_ASC\"],\n limit: 10000,\n ...args,\n where: {\n ...args?.where,\n task: parent.id\n }\n });\n return items;\n }\n },\n WebinyBackgroundTaskLog: {\n task: async (parent: ITaskLog, _, context) => {\n return await context.tasks.getTask(parent.task);\n }\n }\n }\n });\n\n plugin.name = \"tasks.graphql.schema\";\n\n ctx.plugins.register(plugin);\n });\n\n plugin.name = \"tasks.graphql\";\n\n return plugin;\n};\n\nexport const createBackgroundTaskGraphQL = (): Plugin[] => {\n return [createGraphQL()];\n};\n"],"names":["createGraphQL","plugin","ContextPlugin","ctx","taskModel","logModel","listModels","ListModelsUseCase","fieldRegistry","CmsModelFieldToGraphQLRegistry","modelsResult","models","model","taskFields","renderFields","logFields","field","listTasksFilterFieldsRender","renderListFilterFields","listLogsFilterFieldsRender","sortTasksEnumRender","renderSortEnum","sortLogsEnumRender","GraphQLSchemaPlugin","f","emptyResolver","_","args","context","resolve","checkPermissions","resolveList","__","result","item","parent","items","createBackgroundTaskGraphQL"],"mappings":"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"}
@@ -1,6 +0,0 @@
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;