@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 +1 @@
1
- {"version":3,"file":"api/features/GetTask/GetTaskUseCase.js","sources":["../../../../src/api/features/GetTask/GetTaskUseCase.ts"],"sourcesContent":["import { GetTaskUseCase 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 \"~/api/types.js\";\n\nexport class GetTaskUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private context: Context) {}\n\n async execute<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskService.GenericOutput = TaskService.GenericOutput\n >(id: string): Promise<TaskService.Task<I, O> | null> {\n return await this.context.tasks.getTask<I, O>(id);\n }\n}\n"],"names":["GetTaskUseCaseImpl","context","id"],"mappings":"AAKO,MAAMA;IACT,YAA2BC,OAAgB,CAAE;aAAlBA,OAAO,GAAPA;IAAmB;IAE9C,MAAM,QAGJC,EAAU,EAA0C;QAClD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAOA;IAClD;AACJ"}
1
+ {"version":3,"file":"api/features/GetTask/GetTaskUseCase.js","sources":["../../../../src/api/features/GetTask/GetTaskUseCase.ts"],"sourcesContent":["import { GetTaskUseCase 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 { TasksCrud } from \"~/api/TasksCrud.js\";\n\nexport class GetTaskUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private tasksCrud: TasksCrud.Interface) {}\n\n async execute<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskService.GenericOutput = TaskService.GenericOutput\n >(id: string): Promise<TaskService.Task<I, O> | null> {\n return await this.tasksCrud.getTask<I, O>(id);\n }\n}\n"],"names":["GetTaskUseCaseImpl","tasksCrud","id"],"mappings":"AAKO,MAAMA;IACT,YAA2BC,SAA8B,CAAE;aAAhCA,SAAS,GAATA;IAAiC;IAE5D,MAAM,QAGJC,EAAU,EAA0C;QAClD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAOA;IAC9C;AACJ"}
@@ -1,5 +1,4 @@
1
- import type { Context } from "../../../api/types.js";
2
1
  export declare const GetTaskFeature: {
3
2
  name: string;
4
- register(container: import("@webiny/di").Container, context: Context): void;
3
+ register(container: import("@webiny/di").Container): void;
5
4
  };
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { GetTaskUseCaseImpl } from "./GetTaskUseCase.js";
3
3
  import { GetTaskUseCase } from "./abstractions.js";
4
+ import { TasksCrud } from "../../TasksCrud.js";
4
5
  const GetTaskFeature = createFeature({
5
6
  name: "GetTask",
6
- register (container, context) {
7
- container.registerInstance(GetTaskUseCase, new GetTaskUseCaseImpl(context));
7
+ register (container) {
8
+ container.registerFactory(GetTaskUseCase, ()=>new GetTaskUseCaseImpl(container.resolve(TasksCrud)));
8
9
  }
9
10
  });
10
11
  export { GetTaskFeature };
@@ -1 +1 @@
1
- {"version":3,"file":"api/features/GetTask/feature.js","sources":["../../../../src/api/features/GetTask/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetTaskUseCaseImpl } from \"./GetTaskUseCase.js\";\nimport type { Context } from \"~/api/types.js\";\nimport { GetTaskUseCase } from \"./abstractions.js\";\n\nexport const GetTaskFeature = createFeature<Context>({\n name: \"GetTask\",\n register(container, context) {\n container.registerInstance(GetTaskUseCase, new GetTaskUseCaseImpl(context!));\n }\n});\n"],"names":["GetTaskFeature","createFeature","container","context","GetTaskUseCase","GetTaskUseCaseImpl"],"mappings":";;;AAKO,MAAMA,iBAAiBC,cAAuB;IACjD,MAAM;IACN,UAASC,SAAS,EAAEC,OAAO;QACvBD,UAAU,gBAAgB,CAACE,gBAAgB,IAAIC,mBAAmBF;IACtE;AACJ"}
1
+ {"version":3,"file":"api/features/GetTask/feature.js","sources":["../../../../src/api/features/GetTask/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetTaskUseCaseImpl } from \"./GetTaskUseCase.js\";\nimport { GetTaskUseCase } from \"./abstractions.js\";\nimport { TasksCrud } from \"~/api/TasksCrud.js\";\n\nexport const GetTaskFeature = createFeature({\n name: \"GetTask\",\n register(container) {\n container.registerFactory(GetTaskUseCase, () => {\n return new GetTaskUseCaseImpl(container.resolve(TasksCrud));\n });\n }\n});\n"],"names":["GetTaskFeature","createFeature","container","GetTaskUseCase","GetTaskUseCaseImpl","TasksCrud"],"mappings":";;;;AAKO,MAAMA,iBAAiBC,cAAc;IACxC,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,eAAe,CAACC,gBAAgB,IAC/B,IAAIC,mBAAmBF,UAAU,OAAO,CAACG;IAExD;AACJ"}
@@ -1,9 +1,10 @@
1
1
  import { ListTasksUseCase as UseCaseAbstraction } from "./abstractions.js";
2
2
  import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
3
3
  import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
4
- import type { Context, IListTasksResponse } from "../../../api/types.js";
4
+ import type { IListTasksResponse } from "../../../api/types.js";
5
+ import type { TasksCrud } from "../../../api/TasksCrud.js";
5
6
  export declare class ListTasksUseCaseImpl implements UseCaseAbstraction.Interface {
6
- private context;
7
- constructor(context: Context);
7
+ private tasksCrud;
8
+ constructor(tasksCrud: TasksCrud.Interface);
8
9
  execute<I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput, O extends TaskService.GenericOutput = TaskService.GenericOutput>(params?: UseCaseAbstraction.Params): Promise<IListTasksResponse<I, O>>;
9
10
  }
@@ -1,9 +1,9 @@
1
1
  class ListTasksUseCaseImpl {
2
- constructor(context){
3
- this.context = context;
2
+ constructor(tasksCrud){
3
+ this.tasksCrud = tasksCrud;
4
4
  }
5
5
  async execute(params) {
6
- return await this.context.tasks.listTasks(params);
6
+ return await this.tasksCrud.listTasks(params);
7
7
  }
8
8
  }
9
9
  export { ListTasksUseCaseImpl };
@@ -1 +1 @@
1
- {"version":3,"file":"api/features/ListTasks/ListTasksUseCase.js","sources":["../../../../src/api/features/ListTasks/ListTasksUseCase.ts"],"sourcesContent":["import { ListTasksUseCase 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, IListTasksResponse } from \"~/api/types.js\";\n\nexport class ListTasksUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private context: Context) {}\n\n async execute<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskService.GenericOutput = TaskService.GenericOutput\n >(params?: UseCaseAbstraction.Params): Promise<IListTasksResponse<I, O>> {\n return await this.context.tasks.listTasks<I, O>(params);\n }\n}\n"],"names":["ListTasksUseCaseImpl","context","params"],"mappings":"AAKO,MAAMA;IACT,YAA2BC,OAAgB,CAAE;aAAlBA,OAAO,GAAPA;IAAmB;IAE9C,MAAM,QAGJC,MAAkC,EAAqC;QACrE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAOA;IACpD;AACJ"}
1
+ {"version":3,"file":"api/features/ListTasks/ListTasksUseCase.js","sources":["../../../../src/api/features/ListTasks/ListTasksUseCase.ts"],"sourcesContent":["import { ListTasksUseCase 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 { IListTasksResponse } from \"~/api/types.js\";\nimport type { TasksCrud } from \"~/api/TasksCrud.js\";\n\nexport class ListTasksUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private tasksCrud: TasksCrud.Interface) {}\n\n async execute<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskService.GenericOutput = TaskService.GenericOutput\n >(params?: UseCaseAbstraction.Params): Promise<IListTasksResponse<I, O>> {\n return await this.tasksCrud.listTasks<I, O>(params);\n }\n}\n"],"names":["ListTasksUseCaseImpl","tasksCrud","params"],"mappings":"AAMO,MAAMA;IACT,YAA2BC,SAA8B,CAAE;aAAhCA,SAAS,GAATA;IAAiC;IAE5D,MAAM,QAGJC,MAAkC,EAAqC;QACrE,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAOA;IAChD;AACJ"}
@@ -1,5 +1,4 @@
1
- import type { Context } from "../../../api/types.js";
2
1
  export declare const ListTasksFeature: {
3
2
  name: string;
4
- register(container: import("@webiny/di").Container, context: Context): void;
3
+ register(container: import("@webiny/di").Container): void;
5
4
  };
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { ListTasksUseCaseImpl } from "./ListTasksUseCase.js";
3
3
  import { ListTasksUseCase } from "./abstractions.js";
4
+ import { TasksCrud } from "../../TasksCrud.js";
4
5
  const ListTasksFeature = createFeature({
5
6
  name: "ListTasks",
6
- register (container, context) {
7
- container.registerInstance(ListTasksUseCase, new ListTasksUseCaseImpl(context));
7
+ register (container) {
8
+ container.registerFactory(ListTasksUseCase, ()=>new ListTasksUseCaseImpl(container.resolve(TasksCrud)));
8
9
  }
9
10
  });
10
11
  export { ListTasksFeature };
@@ -1 +1 @@
1
- {"version":3,"file":"api/features/ListTasks/feature.js","sources":["../../../../src/api/features/ListTasks/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListTasksUseCaseImpl } from \"./ListTasksUseCase.js\";\nimport type { Context } from \"~/api/types.js\";\nimport { ListTasksUseCase } from \"./abstractions.js\";\n\nexport const ListTasksFeature = createFeature<Context>({\n name: \"ListTasks\",\n register(container, context) {\n container.registerInstance(ListTasksUseCase, new ListTasksUseCaseImpl(context!));\n }\n});\n"],"names":["ListTasksFeature","createFeature","container","context","ListTasksUseCase","ListTasksUseCaseImpl"],"mappings":";;;AAKO,MAAMA,mBAAmBC,cAAuB;IACnD,MAAM;IACN,UAASC,SAAS,EAAEC,OAAO;QACvBD,UAAU,gBAAgB,CAACE,kBAAkB,IAAIC,qBAAqBF;IAC1E;AACJ"}
1
+ {"version":3,"file":"api/features/ListTasks/feature.js","sources":["../../../../src/api/features/ListTasks/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListTasksUseCaseImpl } from \"./ListTasksUseCase.js\";\nimport { ListTasksUseCase } from \"./abstractions.js\";\nimport { TasksCrud } from \"~/api/TasksCrud.js\";\n\nexport const ListTasksFeature = createFeature({\n name: \"ListTasks\",\n register(container) {\n container.registerFactory(ListTasksUseCase, () => {\n return new ListTasksUseCaseImpl(container.resolve(TasksCrud));\n });\n }\n});\n"],"names":["ListTasksFeature","createFeature","container","ListTasksUseCase","ListTasksUseCaseImpl","TasksCrud"],"mappings":";;;;AAKO,MAAMA,mBAAmBC,cAAc;IAC1C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,eAAe,CAACC,kBAAkB,IACjC,IAAIC,qBAAqBF,UAAU,OAAO,CAACG;IAE1D;AACJ"}
@@ -1,7 +1,7 @@
1
1
  import { TaskExecutionContext as Abstraction } from "./abstractions.js";
2
2
  import type { ITaskManagerStore } from "../../../api/runner/abstractions/TaskManagerStore.js";
3
3
  import type { ITaskRunner } from "../../../api/runner/abstractions/TaskRunner.js";
4
- import type { ITimer } from "@webiny/handler-aws";
4
+ import type { Timer } from "../../../api/abstractions/Timer.js";
5
5
  import type { ITaskResponse } from "../../../api/response/abstractions/index.js";
6
6
  declare class TaskExecutionContextImpl implements Abstraction.Interface {
7
7
  private _store?;
@@ -10,11 +10,11 @@ declare class TaskExecutionContextImpl implements Abstraction.Interface {
10
10
  private _response?;
11
11
  get store(): ITaskManagerStore;
12
12
  get runner(): ITaskRunner;
13
- get timer(): ITimer;
13
+ get timer(): Timer.Interface;
14
14
  get response(): ITaskResponse;
15
15
  setStore(store: ITaskManagerStore): void;
16
16
  setRunner(runner: ITaskRunner): void;
17
- setTimer(timer: ITimer): void;
17
+ setTimer(timer: Timer.Interface): void;
18
18
  setResponse(response: ITaskResponse): void;
19
19
  clear(): void;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api/features/TaskExecutionContext/TaskExecutionContext.js","sources":["../../../../src/api/features/TaskExecutionContext/TaskExecutionContext.ts"],"sourcesContent":["import { TaskExecutionContext as Abstraction } from \"./abstractions.js\";\nimport type { ITaskManagerStore } from \"~/api/runner/abstractions/TaskManagerStore.js\";\nimport type { ITaskRunner } from \"~/api/runner/abstractions/TaskRunner.js\";\nimport type { ITimer } from \"@webiny/handler-aws\";\nimport type { ITaskResponse } from \"~/api/response/abstractions/index.js\";\n\nclass TaskExecutionContextImpl implements Abstraction.Interface {\n private _store?: ITaskManagerStore;\n private _runner?: ITaskRunner;\n private _timer?: ITimer;\n private _response?: ITaskResponse;\n\n get store(): ITaskManagerStore {\n if (!this._store) {\n throw new Error(\"TaskExecutionContext: store not set. Task execution not started.\");\n }\n return this._store;\n }\n\n get runner(): ITaskRunner {\n if (!this._runner) {\n throw new Error(\"TaskExecutionContext: runner not set. Task execution not started.\");\n }\n return this._runner;\n }\n\n get timer(): ITimer {\n if (!this._timer) {\n throw new Error(\"TaskExecutionContext: timer not set. Task execution not started.\");\n }\n return this._timer;\n }\n\n get response(): ITaskResponse {\n if (!this._response) {\n throw new Error(\"TaskExecutionContext: response not set. Task execution not started.\");\n }\n return this._response;\n }\n\n setStore(store: ITaskManagerStore): void {\n this._store = store;\n }\n\n setRunner(runner: ITaskRunner): void {\n this._runner = runner;\n }\n\n setTimer(timer: ITimer): void {\n this._timer = timer;\n }\n\n setResponse(response: ITaskResponse): void {\n this._response = response;\n }\n\n clear(): void {\n this._store = undefined;\n this._runner = undefined;\n this._timer = undefined;\n }\n}\n\nexport const TaskExecutionContext = Abstraction.createImplementation({\n implementation: TaskExecutionContextImpl,\n dependencies: []\n});\n"],"names":["TaskExecutionContextImpl","Error","store","runner","timer","response","undefined","TaskExecutionContext","Abstraction"],"mappings":";AAMA,MAAMA;IAMF,IAAI,QAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EACZ,MAAM,IAAIC,MAAM;QAEpB,OAAO,IAAI,CAAC,MAAM;IACtB;IAEA,IAAI,SAAsB;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EACb,MAAM,IAAIA,MAAM;QAEpB,OAAO,IAAI,CAAC,OAAO;IACvB;IAEA,IAAI,QAAgB;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EACZ,MAAM,IAAIA,MAAM;QAEpB,OAAO,IAAI,CAAC,MAAM;IACtB;IAEA,IAAI,WAA0B;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EACf,MAAM,IAAIA,MAAM;QAEpB,OAAO,IAAI,CAAC,SAAS;IACzB;IAEA,SAASC,KAAwB,EAAQ;QACrC,IAAI,CAAC,MAAM,GAAGA;IAClB;IAEA,UAAUC,MAAmB,EAAQ;QACjC,IAAI,CAAC,OAAO,GAAGA;IACnB;IAEA,SAASC,KAAa,EAAQ;QAC1B,IAAI,CAAC,MAAM,GAAGA;IAClB;IAEA,YAAYC,QAAuB,EAAQ;QACvC,IAAI,CAAC,SAAS,GAAGA;IACrB;IAEA,QAAc;QACV,IAAI,CAAC,MAAM,GAAGC;QACd,IAAI,CAAC,OAAO,GAAGA;QACf,IAAI,CAAC,MAAM,GAAGA;IAClB;AACJ;AAEO,MAAMC,4CAAuBC,qBAAAA,oBAAgC,CAAC;IACjE,gBAAgBR;IAChB,cAAc,EAAE;AACpB"}
1
+ {"version":3,"file":"api/features/TaskExecutionContext/TaskExecutionContext.js","sources":["../../../../src/api/features/TaskExecutionContext/TaskExecutionContext.ts"],"sourcesContent":["import { TaskExecutionContext as Abstraction } from \"./abstractions.js\";\nimport type { ITaskManagerStore } from \"~/api/runner/abstractions/TaskManagerStore.js\";\nimport type { ITaskRunner } from \"~/api/runner/abstractions/TaskRunner.js\";\nimport type { Timer } from \"~/api/abstractions/Timer.js\";\nimport type { ITaskResponse } from \"~/api/response/abstractions/index.js\";\n\nclass TaskExecutionContextImpl implements Abstraction.Interface {\n private _store?: ITaskManagerStore;\n private _runner?: ITaskRunner;\n private _timer?: Timer.Interface;\n private _response?: ITaskResponse;\n\n get store(): ITaskManagerStore {\n if (!this._store) {\n throw new Error(\"TaskExecutionContext: store not set. Task execution not started.\");\n }\n return this._store;\n }\n\n get runner(): ITaskRunner {\n if (!this._runner) {\n throw new Error(\"TaskExecutionContext: runner not set. Task execution not started.\");\n }\n return this._runner;\n }\n\n get timer(): Timer.Interface {\n if (!this._timer) {\n throw new Error(\"TaskExecutionContext: timer not set. Task execution not started.\");\n }\n return this._timer;\n }\n\n get response(): ITaskResponse {\n if (!this._response) {\n throw new Error(\"TaskExecutionContext: response not set. Task execution not started.\");\n }\n return this._response;\n }\n\n setStore(store: ITaskManagerStore): void {\n this._store = store;\n }\n\n setRunner(runner: ITaskRunner): void {\n this._runner = runner;\n }\n\n setTimer(timer: Timer.Interface): void {\n this._timer = timer;\n }\n\n setResponse(response: ITaskResponse): void {\n this._response = response;\n }\n\n clear(): void {\n this._store = undefined;\n this._runner = undefined;\n this._timer = undefined;\n }\n}\n\nexport const TaskExecutionContext = Abstraction.createImplementation({\n implementation: TaskExecutionContextImpl,\n dependencies: []\n});\n"],"names":["TaskExecutionContextImpl","Error","store","runner","timer","response","undefined","TaskExecutionContext","Abstraction"],"mappings":";AAMA,MAAMA;IAMF,IAAI,QAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EACZ,MAAM,IAAIC,MAAM;QAEpB,OAAO,IAAI,CAAC,MAAM;IACtB;IAEA,IAAI,SAAsB;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EACb,MAAM,IAAIA,MAAM;QAEpB,OAAO,IAAI,CAAC,OAAO;IACvB;IAEA,IAAI,QAAyB;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,EACZ,MAAM,IAAIA,MAAM;QAEpB,OAAO,IAAI,CAAC,MAAM;IACtB;IAEA,IAAI,WAA0B;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EACf,MAAM,IAAIA,MAAM;QAEpB,OAAO,IAAI,CAAC,SAAS;IACzB;IAEA,SAASC,KAAwB,EAAQ;QACrC,IAAI,CAAC,MAAM,GAAGA;IAClB;IAEA,UAAUC,MAAmB,EAAQ;QACjC,IAAI,CAAC,OAAO,GAAGA;IACnB;IAEA,SAASC,KAAsB,EAAQ;QACnC,IAAI,CAAC,MAAM,GAAGA;IAClB;IAEA,YAAYC,QAAuB,EAAQ;QACvC,IAAI,CAAC,SAAS,GAAGA;IACrB;IAEA,QAAc;QACV,IAAI,CAAC,MAAM,GAAGC;QACd,IAAI,CAAC,OAAO,GAAGA;QACf,IAAI,CAAC,MAAM,GAAGA;IAClB;AACJ;AAEO,MAAMC,4CAAuBC,qBAAAA,oBAAgC,CAAC;IACjE,gBAAgBR;IAChB,cAAc,EAAE;AACpB"}
@@ -1,4 +1,4 @@
1
- import type { ITimer } from "@webiny/handler-aws";
1
+ import type { Timer } from "../../../api/abstractions/Timer.js";
2
2
  import type { ITaskManagerStore } from "../../../api/runner/abstractions/TaskManagerStore.js";
3
3
  import type { ITaskRunner } from "../../../api/runner/abstractions/TaskRunner.js";
4
4
  import type { ITaskResponse } from "../../../api/response/abstractions/index.js";
@@ -12,11 +12,11 @@ import type { ITaskResponse } from "../../../api/response/abstractions/index.js"
12
12
  export interface ITaskExecutionContext {
13
13
  readonly store: ITaskManagerStore;
14
14
  readonly runner: ITaskRunner;
15
- readonly timer: ITimer;
15
+ readonly timer: Timer.Interface;
16
16
  readonly response: ITaskResponse;
17
17
  setStore(store: ITaskManagerStore): void;
18
18
  setRunner(runner: ITaskRunner): void;
19
- setTimer(timer: ITimer): void;
19
+ setTimer(timer: Timer.Interface): void;
20
20
  setResponse(response: ITaskResponse): void;
21
21
  clear(): void;
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api/features/TaskExecutionContext/abstractions.js","sources":["../../../../src/api/features/TaskExecutionContext/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { ITimer } from \"@webiny/handler-aws\";\nimport type { ITaskManagerStore } from \"~/api/runner/abstractions/TaskManagerStore.js\";\nimport type { ITaskRunner } from \"~/api/runner/abstractions/TaskRunner.js\";\nimport type { ITaskResponse } from \"~/api/response/abstractions/index.js\";\n\n/**\n * TaskExecutionContext holds runtime state for the currently executing task.\n * Properties are set by TaskRunner before task execution.\n *\n * This is registered as a singleton in the DI container with empty values,\n * then populated at runtime by TaskControl before executing each task.\n */\nexport interface ITaskExecutionContext {\n // Getters - may throw if not set\n readonly store: ITaskManagerStore;\n readonly runner: ITaskRunner;\n readonly timer: ITimer;\n readonly response: ITaskResponse;\n\n // Setters - called by TaskControl\n setStore(store: ITaskManagerStore): void;\n setRunner(runner: ITaskRunner): void;\n setTimer(timer: ITimer): void;\n setResponse(response: ITaskResponse): void;\n\n // Clear after execution\n clear(): void;\n}\n\nexport const TaskExecutionContext =\n createAbstraction<ITaskExecutionContext>(\"TaskExecutionContext\");\n\nexport namespace TaskExecutionContext {\n export type Interface = ITaskExecutionContext;\n}\n"],"names":["TaskExecutionContext","createAbstraction"],"mappings":";AA8BO,MAAMA,uBACTC,kBAAyC"}
1
+ {"version":3,"file":"api/features/TaskExecutionContext/abstractions.js","sources":["../../../../src/api/features/TaskExecutionContext/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Timer } from \"~/api/abstractions/Timer.js\";\nimport type { ITaskManagerStore } from \"~/api/runner/abstractions/TaskManagerStore.js\";\nimport type { ITaskRunner } from \"~/api/runner/abstractions/TaskRunner.js\";\nimport type { ITaskResponse } from \"~/api/response/abstractions/index.js\";\n\n/**\n * TaskExecutionContext holds runtime state for the currently executing task.\n * Properties are set by TaskRunner before task execution.\n *\n * This is registered as a singleton in the DI container with empty values,\n * then populated at runtime by TaskControl before executing each task.\n */\nexport interface ITaskExecutionContext {\n // Getters - may throw if not set\n readonly store: ITaskManagerStore;\n readonly runner: ITaskRunner;\n readonly timer: Timer.Interface;\n readonly response: ITaskResponse;\n\n // Setters - called by TaskControl\n setStore(store: ITaskManagerStore): void;\n setRunner(runner: ITaskRunner): void;\n setTimer(timer: Timer.Interface): void;\n setResponse(response: ITaskResponse): void;\n\n // Clear after execution\n clear(): void;\n}\n\nexport const TaskExecutionContext =\n createAbstraction<ITaskExecutionContext>(\"TaskExecutionContext\");\n\nexport namespace TaskExecutionContext {\n export type Interface = ITaskExecutionContext;\n}\n"],"names":["TaskExecutionContext","createAbstraction"],"mappings":";AA8BO,MAAMA,uBACTC,kBAAyC"}
@@ -0,0 +1,12 @@
1
+ import type { Container, Constructor } from "@webiny/di";
2
+ import type { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
3
+ import { TaskHandlerResolver as Abstraction } from "./abstractions.js";
4
+ declare class ContainerTaskHandlerResolver implements Abstraction.Interface {
5
+ private readonly container;
6
+ constructor(container: Container);
7
+ resolve<I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput, O extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput>(handler: Constructor<TaskDefinition.Handler<I, O>>): TaskDefinition.Handler<I, O>;
8
+ }
9
+ export declare const TaskHandlerResolver: typeof ContainerTaskHandlerResolver & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ITaskHandlerResolver>;
11
+ };
12
+ export {};
@@ -0,0 +1,19 @@
1
+ import { RequestContainer } from "@webiny/event-handler-core/features/events/RequestContainer.js";
2
+ import { TaskHandlerResolver } from "./abstractions.js";
3
+ class ContainerTaskHandlerResolver {
4
+ constructor(container){
5
+ this.container = container;
6
+ }
7
+ resolve(handler) {
8
+ return this.container.resolveImplementation(handler);
9
+ }
10
+ }
11
+ const TaskHandlerResolver_TaskHandlerResolver = TaskHandlerResolver.createImplementation({
12
+ implementation: ContainerTaskHandlerResolver,
13
+ dependencies: [
14
+ RequestContainer
15
+ ]
16
+ });
17
+ export { TaskHandlerResolver_TaskHandlerResolver as TaskHandlerResolver };
18
+
19
+ //# sourceMappingURL=TaskHandlerResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/TaskHandlerResolver/TaskHandlerResolver.js","sources":["../../../../src/api/features/TaskHandlerResolver/TaskHandlerResolver.ts"],"sourcesContent":["import type { Container, Constructor } from \"@webiny/di\";\nimport { RequestContainer } from \"@webiny/event-handler-core/features/events/RequestContainer.js\";\nimport type { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { TaskHandlerResolver as Abstraction } from \"./abstractions.js\";\n\nclass ContainerTaskHandlerResolver implements Abstraction.Interface {\n public constructor(private readonly container: Container) {}\n\n public resolve<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput\n >(handler: Constructor<TaskDefinition.Handler<I, O>>): TaskDefinition.Handler<I, O> {\n // `resolveImplementation` builds the class from its own dependency metadata and runs it\n // through the normal resolution path, so decorators registered against the handler still\n // apply. It deliberately ignores registrations, which is what we want here: the definition\n // names the class directly and nothing registers handlers against an abstraction.\n return this.container.resolveImplementation(handler);\n }\n}\n\nexport const TaskHandlerResolver = Abstraction.createImplementation({\n implementation: ContainerTaskHandlerResolver,\n dependencies: [RequestContainer]\n});\n"],"names":["ContainerTaskHandlerResolver","container","handler","TaskHandlerResolver","Abstraction","RequestContainer"],"mappings":";;AAKA,MAAMA;IACF,YAAoCC,SAAoB,CAAE;aAAtBA,SAAS,GAATA;IAAuB;IAEpD,QAGLC,OAAkD,EAAgC;QAKhF,OAAO,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAACA;IAChD;AACJ;AAEO,MAAMC,0CAAsBC,oBAAAA,oBAAgC,CAAC;IAChE,gBAAgBJ;IAChB,cAAc;QAACK;KAAiB;AACpC"}
@@ -0,0 +1,17 @@
1
+ import type { Constructor } from "@webiny/di";
2
+ import type { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
3
+ export interface ITaskHandlerResolver {
4
+ resolve<I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput, O extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput>(handler: Constructor<TaskDefinition.Handler<I, O>>): TaskDefinition.Handler<I, O>;
5
+ }
6
+ /**
7
+ * Builds the behaviour half of a task on demand.
8
+ *
9
+ * Something has to turn `definition.handler` (a class) into an instance, and that needs the
10
+ * container. Rather than injecting the container into a use case — which is the service-locator
11
+ * pattern we keep out of DI classes — it lives behind this one narrow abstraction. Everything else
12
+ * depends on `resolve(handler)` and stays testable with a stub.
13
+ */
14
+ export declare const TaskHandlerResolver: import("@webiny/di").Abstraction<ITaskHandlerResolver>;
15
+ export declare namespace TaskHandlerResolver {
16
+ type Interface = ITaskHandlerResolver;
17
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const TaskHandlerResolver = createAbstraction("Tasks/TaskHandlerResolver");
3
+ export { TaskHandlerResolver };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/TaskHandlerResolver/abstractions.js","sources":["../../../../src/api/features/TaskHandlerResolver/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Constructor } from \"@webiny/di\";\nimport type { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\n\nexport interface ITaskHandlerResolver {\n resolve<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput\n >(\n handler: Constructor<TaskDefinition.Handler<I, O>>\n ): TaskDefinition.Handler<I, O>;\n}\n\n/**\n * Builds the behaviour half of a task on demand.\n *\n * Something has to turn `definition.handler` (a class) into an instance, and that needs the\n * container. Rather than injecting the container into a use case — which is the service-locator\n * pattern we keep out of DI classes — it lives behind this one narrow abstraction. Everything else\n * depends on `resolve(handler)` and stays testable with a stub.\n */\nexport const TaskHandlerResolver = createAbstraction<ITaskHandlerResolver>(\n \"Tasks/TaskHandlerResolver\"\n);\n\nexport namespace TaskHandlerResolver {\n export type Interface = ITaskHandlerResolver;\n}\n"],"names":["TaskHandlerResolver","createAbstraction"],"mappings":";AAqBO,MAAMA,sBAAsBC,kBAC/B"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Must be registered on the per-request container, which is what `registerApiRequestStack` does via
3
+ * `BackgroundTasksFeature`. The resolver depends on `RequestContainer`; registered on the root it
4
+ * would capture the root container and never see per-request registrations.
5
+ */
6
+ export declare const TaskHandlerResolverFeature: {
7
+ name: string;
8
+ register(container: import("@webiny/di").Container): void;
9
+ };
@@ -0,0 +1,11 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { TaskHandlerResolver } from "./TaskHandlerResolver.js";
3
+ const TaskHandlerResolverFeature = createFeature({
4
+ name: "TaskHandlerResolver",
5
+ register (container) {
6
+ container.register(TaskHandlerResolver);
7
+ }
8
+ });
9
+ export { TaskHandlerResolverFeature };
10
+
11
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/features/TaskHandlerResolver/feature.js","sources":["../../../../src/api/features/TaskHandlerResolver/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TaskHandlerResolver } from \"./TaskHandlerResolver.js\";\n\n/**\n * Must be registered on the per-request container, which is what `registerApiRequestStack` does via\n * `BackgroundTasksFeature`. The resolver depends on `RequestContainer`; registered on the root it\n * would capture the root container and never see per-request registrations.\n */\nexport const TaskHandlerResolverFeature = createFeature({\n name: \"TaskHandlerResolver\",\n register(container) {\n container.register(TaskHandlerResolver);\n }\n});\n"],"names":["TaskHandlerResolverFeature","createFeature","container","TaskHandlerResolver"],"mappings":";;AAQO,MAAMA,6BAA6BC,cAAc;IACpD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -0,0 +1,2 @@
1
+ export { TaskHandlerResolver } from "./abstractions.js";
2
+ export { TaskHandlerResolverFeature } from "./feature.js";
@@ -0,0 +1,2 @@
1
+ export { TaskHandlerResolver } from "./abstractions.js";
2
+ export { TaskHandlerResolverFeature } from "./feature.js";
@@ -2,9 +2,8 @@ import { Result } from "@webiny/feature/api";
2
2
  import { TriggerTaskUseCase as UseCaseAbstraction } from "./abstractions.js";
3
3
  import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
4
4
  import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
5
- import type { Context } from "../../../api/types.js";
6
5
  export declare class TriggerTaskUseCaseImpl implements UseCaseAbstraction.Interface {
7
- private context;
8
- constructor(context: Context);
6
+ private taskService;
7
+ constructor(taskService: TaskService.Interface);
9
8
  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
9
  }
@@ -1,9 +1,9 @@
1
1
  class TriggerTaskUseCaseImpl {
2
- constructor(context){
3
- this.context = context;
2
+ constructor(taskService){
3
+ this.taskService = taskService;
4
4
  }
5
5
  async execute(params) {
6
- const result = await this.context.tasks.trigger(params);
6
+ const result = await this.taskService.trigger(params);
7
7
  return result;
8
8
  }
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api/features/TriggerTask/TriggerTaskUseCase.js","sources":["../../../../src/api/features/TriggerTask/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 \"~/api/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"],"names":["TriggerTaskUseCaseImpl","context","params","result"],"mappings":"AAMO,MAAMA;IACT,YAA2BC,OAAgB,CAAE;aAAlBA,OAAO,GAAPA;IAAmB;IAE9C,MAAa,QAITC,MAAoC,EAC6B;QACjE,MAAMC,SAAS,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAOD;QAEtD,OAAOC;IAGX;AACJ"}
1
+ {"version":3,"file":"api/features/TriggerTask/TriggerTaskUseCase.js","sources":["../../../../src/api/features/TriggerTask/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\";\n\nexport class TriggerTaskUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private taskService: TaskService.Interface) {}\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.taskService.trigger<I, O>(params);\n\n return result as unknown as Promise<\n Result<TaskService.Task<I, O>, UseCaseAbstraction.Error>\n >;\n }\n}\n"],"names":["TriggerTaskUseCaseImpl","taskService","params","result"],"mappings":"AAKO,MAAMA;IACT,YAA2BC,WAAkC,CAAE;aAApCA,WAAW,GAAXA;IAAqC;IAEhE,MAAa,QAITC,MAAoC,EAC6B;QACjE,MAAMC,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAOD;QAEpD,OAAOC;IAGX;AACJ"}
@@ -1,5 +1,4 @@
1
- import type { Context } from "../../../api/types.js";
2
1
  export declare const TriggerTaskFeature: {
3
2
  name: string;
4
- register(container: import("@webiny/di").Container, context: Context): void;
3
+ register(container: import("@webiny/di").Container): void;
5
4
  };
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { TriggerTaskUseCase } from "./abstractions.js";
3
3
  import { TriggerTaskUseCaseImpl } from "./TriggerTaskUseCase.js";
4
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
4
5
  const TriggerTaskFeature = createFeature({
5
6
  name: "TriggerTask",
6
- register (container, context) {
7
- container.registerInstance(TriggerTaskUseCase, new TriggerTaskUseCaseImpl(context));
7
+ register (container) {
8
+ container.registerFactory(TriggerTaskUseCase, ()=>new TriggerTaskUseCaseImpl(container.resolve(TaskService)));
8
9
  }
9
10
  });
10
11
  export { TriggerTaskFeature };
@@ -1 +1 @@
1
- {"version":3,"file":"api/features/TriggerTask/feature.js","sources":["../../../../src/api/features/TriggerTask/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TriggerTaskUseCase } from \"./abstractions.js\";\nimport { TriggerTaskUseCaseImpl } from \"~/api/features/TriggerTask/TriggerTaskUseCase.js\";\nimport type { Context } from \"~/api/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"],"names":["TriggerTaskFeature","createFeature","container","context","TriggerTaskUseCase","TriggerTaskUseCaseImpl"],"mappings":";;;AAKO,MAAMA,qBAAqBC,cAAuB;IACrD,MAAM;IACN,UAASC,SAAS,EAAEC,OAAO;QACvBD,UAAU,gBAAgB,CAACE,oBAAoB,IAAIC,uBAAuBF;IAC9E;AACJ"}
1
+ {"version":3,"file":"api/features/TriggerTask/feature.js","sources":["../../../../src/api/features/TriggerTask/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TriggerTaskUseCase } from \"./abstractions.js\";\nimport { TriggerTaskUseCaseImpl } from \"~/api/features/TriggerTask/TriggerTaskUseCase.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\n\nexport const TriggerTaskFeature = createFeature({\n name: \"TriggerTask\",\n register(container) {\n container.registerFactory(TriggerTaskUseCase, () => {\n return new TriggerTaskUseCaseImpl(container.resolve(TaskService));\n });\n }\n});\n"],"names":["TriggerTaskFeature","createFeature","container","TriggerTaskUseCase","TriggerTaskUseCaseImpl","TaskService"],"mappings":";;;;AAKO,MAAMA,qBAAqBC,cAAc;IAC5C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,eAAe,CAACC,oBAAoB,IACnC,IAAIC,uBAAuBF,UAAU,OAAO,CAACG;IAE5D;AACJ"}
@@ -16,7 +16,7 @@ class UpdateBackgroundTaskSettingsRepositoryImpl {
16
16
  this.getLatestRevisionRepository = getLatestRevisionRepository;
17
17
  this.updateEntryRepository = updateEntryRepository;
18
18
  this.updateEntryDataFactory = updateEntryDataFactory;
19
- this.defaultRetentionDays = buildParams.get("BackgroundTasks.RetentionDays") ?? BACKGROUND_TASK_DEFAULT_RETENTION_DAYS;
19
+ this.defaultRetentionDays = buildParams.get("BackgroundTasks.RetentionDays") || BACKGROUND_TASK_DEFAULT_RETENTION_DAYS;
20
20
  }
21
21
  async execute(input) {
22
22
  try {
@@ -32,15 +32,18 @@ class UpdateBackgroundTaskSettingsRepositoryImpl {
32
32
  });
33
33
  if (entryResult.isFail()) return Result.fail(BackgroundTaskPersistenceError.from(entryResult.error));
34
34
  const storedValue = input.retentionDays === this.defaultRetentionDays ? null : input.retentionDays;
35
- const { entry } = await this.updateEntryDataFactory.create(model, {
35
+ const dataResult = await this.updateEntryDataFactory.create(model, {
36
36
  values: {
37
37
  retentionDays: storedValue
38
38
  }
39
39
  }, entryResult.value);
40
+ if (dataResult.isFail()) return Result.fail(BackgroundTaskPersistenceError.from(dataResult.error));
41
+ const { entry } = dataResult.value;
40
42
  const updateResult = await this.updateEntryRepository.execute(model, entry);
41
43
  if (updateResult.isFail()) return Result.fail(BackgroundTaskPersistenceError.from(updateResult.error));
44
+ const retentionDays = null != entry.values.retentionDays ? entry.values.retentionDays : this.defaultRetentionDays;
42
45
  const settings = {
43
- retentionDays: entry.values.retentionDays ?? this.defaultRetentionDays
46
+ retentionDays
44
47
  };
45
48
  return Result.ok(settings);
46
49
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js","sources":["../../../../src/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createCacheKey } from \"@webiny/utils\";\nimport { GetModelRepository } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { GetLatestRevisionByEntryIdRepository } from \"@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport { UpdateEntryRepository } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { UpdateEntryDataFactory } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\nimport { BuildParams } from \"@webiny/api-core/features/buildParams/index.js\";\nimport { GetBackgroundTaskSettingsRepository } from \"~/api/features/GetBackgroundTaskSettings/abstractions.js\";\nimport {\n UpdateBackgroundTaskSettingsRepository as RepositoryAbstraction,\n type IUpdateBackgroundTaskSettingsInput\n} from \"./abstractions.js\";\nimport {\n BackgroundTaskModelNotFoundError,\n BackgroundTaskPersistenceError\n} from \"~/api/domain/errors.js\";\nimport {\n BACKGROUND_TASK_SETTINGS_MODEL_ID,\n BACKGROUND_TASK_DEFAULT_RETENTION_DAYS\n} from \"~/api/domain/constants.js\";\nimport type { IBackgroundTaskSettings } from \"~/api/domain/BackgroundTaskSettings.js\";\n\ninterface BackgroundTaskSettingsValues {\n retentionDays?: number | null;\n}\n\nclass UpdateBackgroundTaskSettingsRepositoryImpl implements RepositoryAbstraction.Interface {\n private readonly defaultRetentionDays: number;\n\n constructor(\n private readonly getModelRepository: GetModelRepository.Interface,\n private readonly getSettingsRepository: GetBackgroundTaskSettingsRepository.Interface,\n private readonly getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface,\n private readonly updateEntryRepository: UpdateEntryRepository.Interface,\n private readonly updateEntryDataFactory: UpdateEntryDataFactory.Interface,\n buildParams: BuildParams.Interface\n ) {\n this.defaultRetentionDays =\n buildParams.get<number>(\"BackgroundTasks.RetentionDays\") ??\n BACKGROUND_TASK_DEFAULT_RETENTION_DAYS;\n }\n\n async execute(\n input: IUpdateBackgroundTaskSettingsInput\n ): Promise<Result<IBackgroundTaskSettings, RepositoryAbstraction.Error>> {\n try {\n /* Ensure the singleton entry exists (creates if missing). */\n const getResult = await this.getSettingsRepository.execute();\n if (getResult.isFail()) {\n return getResult;\n }\n\n const modelResult = await this.getModelRepository.execute(\n BACKGROUND_TASK_SETTINGS_MODEL_ID\n );\n if (modelResult.isFail()) {\n return Result.fail(\n new BackgroundTaskModelNotFoundError(BACKGROUND_TASK_SETTINGS_MODEL_ID)\n );\n }\n\n const model = modelResult.value;\n const singletonId = createCacheKey(model.modelId);\n const entryId = `${singletonId}#0001`;\n\n const entryResult =\n await this.getLatestRevisionRepository.execute<BackgroundTaskSettingsValues>(\n model,\n { id: entryId }\n );\n\n if (entryResult.isFail()) {\n return Result.fail(BackgroundTaskPersistenceError.from(entryResult.error));\n }\n\n /* Store null when the value matches the default so the default stays in control. */\n const storedValue =\n input.retentionDays === this.defaultRetentionDays ? null : input.retentionDays;\n\n const { entry } =\n await this.updateEntryDataFactory.create<BackgroundTaskSettingsValues>(\n model,\n {\n values: {\n retentionDays: storedValue\n }\n },\n entryResult.value\n );\n\n const updateResult = await this.updateEntryRepository.execute(model, entry);\n if (updateResult.isFail()) {\n return Result.fail(BackgroundTaskPersistenceError.from(updateResult.error));\n }\n\n const settings: IBackgroundTaskSettings = {\n retentionDays: entry.values.retentionDays ?? this.defaultRetentionDays\n };\n\n return Result.ok(settings);\n } catch (error) {\n return Result.fail(BackgroundTaskPersistenceError.from(error));\n }\n }\n}\n\nexport const UpdateBackgroundTaskSettingsRepository = RepositoryAbstraction.createImplementation({\n implementation: UpdateBackgroundTaskSettingsRepositoryImpl,\n dependencies: [\n GetModelRepository,\n GetBackgroundTaskSettingsRepository,\n GetLatestRevisionByEntryIdRepository,\n UpdateEntryRepository,\n UpdateEntryDataFactory,\n BuildParams\n ]\n});\n"],"names":["UpdateBackgroundTaskSettingsRepositoryImpl","getModelRepository","getSettingsRepository","getLatestRevisionRepository","updateEntryRepository","updateEntryDataFactory","buildParams","BACKGROUND_TASK_DEFAULT_RETENTION_DAYS","input","getResult","modelResult","BACKGROUND_TASK_SETTINGS_MODEL_ID","Result","BackgroundTaskModelNotFoundError","model","singletonId","createCacheKey","entryId","entryResult","BackgroundTaskPersistenceError","storedValue","entry","updateResult","settings","error","UpdateBackgroundTaskSettingsRepository","RepositoryAbstraction","GetModelRepository","GetBackgroundTaskSettingsRepository","GetLatestRevisionByEntryIdRepository","UpdateEntryRepository","UpdateEntryDataFactory","BuildParams"],"mappings":";;;;;;;;;;;AA0BA,MAAMA;IAGF,YACqBC,kBAAgD,EAChDC,qBAAoE,EACpEC,2BAA2E,EAC3EC,qBAAsD,EACtDC,sBAAwD,EACzEC,WAAkC,CACpC;aANmBL,kBAAkB,GAAlBA;aACAC,qBAAqB,GAArBA;aACAC,2BAA2B,GAA3BA;aACAC,qBAAqB,GAArBA;aACAC,sBAAsB,GAAtBA;QAGjB,IAAI,CAAC,oBAAoB,GACrBC,YAAY,GAAG,CAAS,oCACxBC;IACR;IAEA,MAAM,QACFC,KAAyC,EAC4B;QACrE,IAAI;YAEA,MAAMC,YAAY,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO;YAC1D,IAAIA,UAAU,MAAM,IAChB,OAAOA;YAGX,MAAMC,cAAc,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CACrDC;YAEJ,IAAID,YAAY,MAAM,IAClB,OAAOE,OAAO,IAAI,CACd,IAAIC,iCAAiCF;YAI7C,MAAMG,QAAQJ,YAAY,KAAK;YAC/B,MAAMK,cAAcC,eAAeF,MAAM,OAAO;YAChD,MAAMG,UAAU,GAAGF,YAAY,KAAK,CAAC;YAErC,MAAMG,cACF,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAC1CJ,OACA;gBAAE,IAAIG;YAAQ;YAGtB,IAAIC,YAAY,MAAM,IAClB,OAAON,OAAO,IAAI,CAACO,+BAA+B,IAAI,CAACD,YAAY,KAAK;YAI5E,MAAME,cACFZ,MAAM,aAAa,KAAK,IAAI,CAAC,oBAAoB,GAAG,OAAOA,MAAM,aAAa;YAElF,MAAM,EAAEa,KAAK,EAAE,GACX,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CACpCP,OACA;gBACI,QAAQ;oBACJ,eAAeM;gBACnB;YACJ,GACAF,YAAY,KAAK;YAGzB,MAAMI,eAAe,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAACR,OAAOO;YACrE,IAAIC,aAAa,MAAM,IACnB,OAAOV,OAAO,IAAI,CAACO,+BAA+B,IAAI,CAACG,aAAa,KAAK;YAG7E,MAAMC,WAAoC;gBACtC,eAAeF,MAAM,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB;YAC1E;YAEA,OAAOT,OAAO,EAAE,CAACW;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOZ,OAAO,IAAI,CAACO,+BAA+B,IAAI,CAACK;QAC3D;IACJ;AACJ;AAEO,MAAMC,gFAAyCC,uCAAAA,oBAA0C,CAAC;IAC7F,gBAAgB1B;IAChB,cAAc;QACV2B;QACAC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
1
+ {"version":3,"file":"api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js","sources":["../../../../src/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { createCacheKey } from \"@webiny/utils\";\nimport { GetModelRepository } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { GetLatestRevisionByEntryIdRepository } from \"@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/index.js\";\nimport { UpdateEntryRepository } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { UpdateEntryDataFactory } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\nimport { BuildParams } from \"@webiny/api-core/features/buildParams/index.js\";\nimport { GetBackgroundTaskSettingsRepository } from \"~/api/features/GetBackgroundTaskSettings/abstractions.js\";\nimport {\n UpdateBackgroundTaskSettingsRepository as RepositoryAbstraction,\n type IUpdateBackgroundTaskSettingsInput\n} from \"./abstractions.js\";\nimport {\n BackgroundTaskModelNotFoundError,\n BackgroundTaskPersistenceError\n} from \"~/api/domain/errors.js\";\nimport {\n BACKGROUND_TASK_SETTINGS_MODEL_ID,\n BACKGROUND_TASK_DEFAULT_RETENTION_DAYS\n} from \"~/api/domain/constants.js\";\nimport type { IBackgroundTaskSettings } from \"~/api/domain/BackgroundTaskSettings.js\";\n\ninterface BackgroundTaskSettingsValues {\n retentionDays?: number | null;\n}\n\nclass UpdateBackgroundTaskSettingsRepositoryImpl implements RepositoryAbstraction.Interface {\n private readonly defaultRetentionDays: number;\n\n constructor(\n private readonly getModelRepository: GetModelRepository.Interface,\n private readonly getSettingsRepository: GetBackgroundTaskSettingsRepository.Interface,\n private readonly getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface,\n private readonly updateEntryRepository: UpdateEntryRepository.Interface,\n private readonly updateEntryDataFactory: UpdateEntryDataFactory.Interface,\n buildParams: BuildParams.Interface\n ) {\n this.defaultRetentionDays =\n buildParams.get<number>(\"BackgroundTasks.RetentionDays\") ||\n BACKGROUND_TASK_DEFAULT_RETENTION_DAYS;\n }\n\n async execute(\n input: IUpdateBackgroundTaskSettingsInput\n ): Promise<Result<IBackgroundTaskSettings, RepositoryAbstraction.Error>> {\n try {\n /* Ensure the singleton entry exists (creates if missing). */\n const getResult = await this.getSettingsRepository.execute();\n if (getResult.isFail()) {\n return getResult;\n }\n\n const modelResult = await this.getModelRepository.execute(\n BACKGROUND_TASK_SETTINGS_MODEL_ID\n );\n if (modelResult.isFail()) {\n return Result.fail(\n new BackgroundTaskModelNotFoundError(BACKGROUND_TASK_SETTINGS_MODEL_ID)\n );\n }\n\n const model = modelResult.value;\n const singletonId = createCacheKey(model.modelId);\n const entryId = `${singletonId}#0001`;\n\n const entryResult =\n await this.getLatestRevisionRepository.execute<BackgroundTaskSettingsValues>(\n model,\n { id: entryId }\n );\n\n if (entryResult.isFail()) {\n return Result.fail(BackgroundTaskPersistenceError.from(entryResult.error));\n }\n\n /* Store null when the value matches the default so the default stays in control. */\n const storedValue =\n input.retentionDays === this.defaultRetentionDays ? null : input.retentionDays;\n\n const dataResult =\n await this.updateEntryDataFactory.create<BackgroundTaskSettingsValues>(\n model,\n {\n values: {\n retentionDays: storedValue\n }\n },\n entryResult.value\n );\n if (dataResult.isFail()) {\n return Result.fail(BackgroundTaskPersistenceError.from(dataResult.error));\n }\n const { entry } = dataResult.value;\n\n const updateResult = await this.updateEntryRepository.execute(model, entry);\n if (updateResult.isFail()) {\n return Result.fail(BackgroundTaskPersistenceError.from(updateResult.error));\n }\n\n const retentionDays =\n entry.values.retentionDays != null\n ? entry.values.retentionDays\n : this.defaultRetentionDays;\n\n const settings: IBackgroundTaskSettings = {\n retentionDays\n };\n\n return Result.ok(settings);\n } catch (error) {\n return Result.fail(BackgroundTaskPersistenceError.from(error));\n }\n }\n}\n\nexport const UpdateBackgroundTaskSettingsRepository = RepositoryAbstraction.createImplementation({\n implementation: UpdateBackgroundTaskSettingsRepositoryImpl,\n dependencies: [\n GetModelRepository,\n GetBackgroundTaskSettingsRepository,\n GetLatestRevisionByEntryIdRepository,\n UpdateEntryRepository,\n UpdateEntryDataFactory,\n BuildParams\n ]\n});\n"],"names":["UpdateBackgroundTaskSettingsRepositoryImpl","getModelRepository","getSettingsRepository","getLatestRevisionRepository","updateEntryRepository","updateEntryDataFactory","buildParams","BACKGROUND_TASK_DEFAULT_RETENTION_DAYS","input","getResult","modelResult","BACKGROUND_TASK_SETTINGS_MODEL_ID","Result","BackgroundTaskModelNotFoundError","model","singletonId","createCacheKey","entryId","entryResult","BackgroundTaskPersistenceError","storedValue","dataResult","entry","updateResult","retentionDays","settings","error","UpdateBackgroundTaskSettingsRepository","RepositoryAbstraction","GetModelRepository","GetBackgroundTaskSettingsRepository","GetLatestRevisionByEntryIdRepository","UpdateEntryRepository","UpdateEntryDataFactory","BuildParams"],"mappings":";;;;;;;;;;;AA0BA,MAAMA;IAGF,YACqBC,kBAAgD,EAChDC,qBAAoE,EACpEC,2BAA2E,EAC3EC,qBAAsD,EACtDC,sBAAwD,EACzEC,WAAkC,CACpC;aANmBL,kBAAkB,GAAlBA;aACAC,qBAAqB,GAArBA;aACAC,2BAA2B,GAA3BA;aACAC,qBAAqB,GAArBA;aACAC,sBAAsB,GAAtBA;QAGjB,IAAI,CAAC,oBAAoB,GACrBC,YAAY,GAAG,CAAS,oCACxBC;IACR;IAEA,MAAM,QACFC,KAAyC,EAC4B;QACrE,IAAI;YAEA,MAAMC,YAAY,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO;YAC1D,IAAIA,UAAU,MAAM,IAChB,OAAOA;YAGX,MAAMC,cAAc,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CACrDC;YAEJ,IAAID,YAAY,MAAM,IAClB,OAAOE,OAAO,IAAI,CACd,IAAIC,iCAAiCF;YAI7C,MAAMG,QAAQJ,YAAY,KAAK;YAC/B,MAAMK,cAAcC,eAAeF,MAAM,OAAO;YAChD,MAAMG,UAAU,GAAGF,YAAY,KAAK,CAAC;YAErC,MAAMG,cACF,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAC1CJ,OACA;gBAAE,IAAIG;YAAQ;YAGtB,IAAIC,YAAY,MAAM,IAClB,OAAON,OAAO,IAAI,CAACO,+BAA+B,IAAI,CAACD,YAAY,KAAK;YAI5E,MAAME,cACFZ,MAAM,aAAa,KAAK,IAAI,CAAC,oBAAoB,GAAG,OAAOA,MAAM,aAAa;YAElF,MAAMa,aACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CACpCP,OACA;gBACI,QAAQ;oBACJ,eAAeM;gBACnB;YACJ,GACAF,YAAY,KAAK;YAEzB,IAAIG,WAAW,MAAM,IACjB,OAAOT,OAAO,IAAI,CAACO,+BAA+B,IAAI,CAACE,WAAW,KAAK;YAE3E,MAAM,EAAEC,KAAK,EAAE,GAAGD,WAAW,KAAK;YAElC,MAAME,eAAe,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAACT,OAAOQ;YACrE,IAAIC,aAAa,MAAM,IACnB,OAAOX,OAAO,IAAI,CAACO,+BAA+B,IAAI,CAACI,aAAa,KAAK;YAG7E,MAAMC,gBACFF,AAA8B,QAA9BA,MAAM,MAAM,CAAC,aAAa,GACpBA,MAAM,MAAM,CAAC,aAAa,GAC1B,IAAI,CAAC,oBAAoB;YAEnC,MAAMG,WAAoC;gBACtCD;YACJ;YAEA,OAAOZ,OAAO,EAAE,CAACa;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOd,OAAO,IAAI,CAACO,+BAA+B,IAAI,CAACO;QAC3D;IACJ;AACJ;AAEO,MAAMC,gFAAyCC,uCAAAA,oBAA0C,CAAC;IAC7F,gBAAgB5B;IAChB,cAAc;QACV6B;QACAC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -0,0 +1,27 @@
1
+ import { GraphQLSchemaFactory } from "@webiny/api-graphql/graphql/abstractions.js";
2
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/abstractions.js";
3
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
4
+ import { ListModelsUseCase } from "@webiny/api-headless-cms/features/contentModel/ListModels/index.js";
5
+ import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
6
+ import { TasksCrud } from "../../api/TasksCrud.js";
7
+ /**
8
+ * The background-tasks GraphQL schema. Its shape depends on the CMS task/log content models, which
9
+ * are loaded when the schema is composed. The settings schema lives here too, because it extends
10
+ * the task schema's `WebinyBackgroundTaskQuery`/`Mutation` types.
11
+ */
12
+ declare class BackgroundTasksGraphQLSchemaImpl implements GraphQLSchemaFactory.Interface {
13
+ private readonly tenantContext;
14
+ private readonly identityContext;
15
+ private readonly tasksCrud;
16
+ private readonly listModelsUseCase;
17
+ private readonly fieldRegistry;
18
+ constructor(tenantContext: TenantContext.Interface, identityContext: IdentityContext.Interface, tasksCrud: TasksCrud.Interface, listModelsUseCase: ListModelsUseCase.Interface, fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface);
19
+ getSchemaKey(): Promise<string>;
20
+ execute(builder: GraphQLSchemaFactory.SchemaBuilder): Promise<GraphQLSchemaFactory.SchemaBuilder>;
21
+ private loadInputs;
22
+ private createTypeDefs;
23
+ }
24
+ export declare const BackgroundTasksGraphQLSchema: typeof BackgroundTasksGraphQLSchemaImpl & {
25
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-graphql/graphql/abstractions.public.js").IGraphQLSchemaFactory>;
26
+ };
27
+ export {};