@webiny/background-tasks 6.4.5 → 6.6.0-alpha.0

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 (135) hide show
  1. package/admin/features/listLogs/ListLogsGateway.js +1 -1
  2. package/admin/features/listLogs/ListLogsGateway.js.map +1 -1
  3. package/admin/features/permissions/feature.d.ts +1 -1
  4. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js +2 -2
  5. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js.map +1 -1
  6. package/admin/presentation/TaskDetail/TaskDetailPresenter.js +1 -1
  7. package/admin/presentation/TaskDetail/TaskDetailPresenter.js.map +1 -1
  8. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js +1 -1
  9. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js.map +1 -1
  10. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.d.ts +2 -0
  11. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js +3 -1
  12. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js.map +1 -1
  13. package/api/BackgroundTasksFeature.d.ts +4 -0
  14. package/api/BackgroundTasksFeature.js +59 -0
  15. package/api/BackgroundTasksFeature.js.map +1 -0
  16. package/api/TasksCrud.d.ts +10 -0
  17. package/api/TasksCrud.js +5 -0
  18. package/api/TasksCrud.js.map +1 -0
  19. package/api/abstractions/Timer.d.ts +1 -0
  20. package/api/abstractions/Timer.js +0 -0
  21. package/api/abstractions/index.d.ts +1 -0
  22. package/api/abstractions/index.js +1 -0
  23. package/api/crud/cleanupTaskSubtree.d.ts +2 -2
  24. package/api/crud/cleanupTaskSubtree.js +8 -7
  25. package/api/crud/cleanupTaskSubtree.js.map +1 -1
  26. package/api/crud/crud.tasks.d.ts +3 -2
  27. package/api/crud/crud.tasks.js +37 -37
  28. package/api/crud/crud.tasks.js.map +1 -1
  29. package/api/crud/definition.tasks.d.ts +3 -2
  30. package/api/crud/definition.tasks.js +3 -3
  31. package/api/crud/definition.tasks.js.map +1 -1
  32. package/api/crud/service.tasks.d.ts +3 -2
  33. package/api/crud/service.tasks.js +21 -19
  34. package/api/crud/service.tasks.js.map +1 -1
  35. package/api/decorators/RunnableTaskDecorator.d.ts +1 -1
  36. package/api/decorators/RunnableTaskDecorator.js +2 -2
  37. package/api/decorators/RunnableTaskDecorator.js.map +1 -1
  38. package/api/decorators/SelfCleaningTaskDecorator.d.ts +1 -1
  39. package/api/domain/TaskService.d.ts +12 -0
  40. package/api/domain/TaskService.js +5 -0
  41. package/api/domain/TaskService.js.map +1 -0
  42. package/api/features/AbortTask/AbortTaskUseCase.d.ts +2 -3
  43. package/api/features/AbortTask/AbortTaskUseCase.js +3 -3
  44. package/api/features/AbortTask/AbortTaskUseCase.js.map +1 -1
  45. package/api/features/AbortTask/feature.d.ts +1 -2
  46. package/api/features/AbortTask/feature.js +3 -2
  47. package/api/features/AbortTask/feature.js.map +1 -1
  48. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.d.ts +3 -3
  49. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js +3 -3
  50. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js.map +1 -1
  51. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js +7 -4
  52. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js.map +1 -1
  53. package/api/features/GetTask/GetTaskUseCase.d.ts +3 -3
  54. package/api/features/GetTask/GetTaskUseCase.js +3 -3
  55. package/api/features/GetTask/GetTaskUseCase.js.map +1 -1
  56. package/api/features/GetTask/feature.d.ts +1 -2
  57. package/api/features/GetTask/feature.js +3 -2
  58. package/api/features/GetTask/feature.js.map +1 -1
  59. package/api/features/ListTasks/ListTasksUseCase.d.ts +4 -3
  60. package/api/features/ListTasks/ListTasksUseCase.js +3 -3
  61. package/api/features/ListTasks/ListTasksUseCase.js.map +1 -1
  62. package/api/features/ListTasks/feature.d.ts +1 -2
  63. package/api/features/ListTasks/feature.js +3 -2
  64. package/api/features/ListTasks/feature.js.map +1 -1
  65. package/api/features/TaskController/TaskController.d.ts +2 -2
  66. package/api/features/TaskExecutionContext/TaskExecutionContext.d.ts +3 -3
  67. package/api/features/TaskExecutionContext/TaskExecutionContext.js.map +1 -1
  68. package/api/features/TaskExecutionContext/abstractions.d.ts +3 -3
  69. package/api/features/TaskExecutionContext/abstractions.js.map +1 -1
  70. package/api/features/TriggerTask/TriggerTaskUseCase.d.ts +2 -3
  71. package/api/features/TriggerTask/TriggerTaskUseCase.js +3 -3
  72. package/api/features/TriggerTask/TriggerTaskUseCase.js.map +1 -1
  73. package/api/features/TriggerTask/feature.d.ts +1 -2
  74. package/api/features/TriggerTask/feature.js +3 -2
  75. package/api/features/TriggerTask/feature.js.map +1 -1
  76. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js +3 -2
  77. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js.map +1 -1
  78. package/api/graphql/BackgroundTasksContextualSchema.d.ts +21 -0
  79. package/api/graphql/BackgroundTasksContextualSchema.js +369 -0
  80. package/api/graphql/BackgroundTasksContextualSchema.js.map +1 -0
  81. package/api/graphql/checkPermissions.js +2 -1
  82. package/api/graphql/checkPermissions.js.map +1 -1
  83. package/api/graphql/utils.d.ts +3 -3
  84. package/api/graphql/utils.js +1 -1
  85. package/api/graphql/utils.js.map +1 -1
  86. package/api/handler/types.d.ts +0 -2
  87. package/api/index.d.ts +10 -3
  88. package/api/index.js +9 -3
  89. package/api/response/DatabaseResponse.js +1 -1
  90. package/api/response/DatabaseResponse.js.map +1 -1
  91. package/api/runner/TaskControl.js +11 -8
  92. package/api/runner/TaskControl.js.map +1 -1
  93. package/api/runner/TaskManager.js +2 -1
  94. package/api/runner/TaskManager.js.map +1 -1
  95. package/api/runner/TaskManagerStore.d.ts +3 -2
  96. package/api/runner/TaskManagerStore.js +5 -3
  97. package/api/runner/TaskManagerStore.js.map +1 -1
  98. package/api/runner/TaskRunner.d.ts +3 -3
  99. package/api/runner/TaskRunner.js.map +1 -1
  100. package/api/runner/abstractions/TaskRunner.d.ts +2 -2
  101. package/api/service/createService.d.ts +3 -3
  102. package/api/service/createService.js +5 -10
  103. package/api/service/createService.js.map +1 -1
  104. package/api/service/index.d.ts +1 -4
  105. package/api/service/index.js +1 -12
  106. package/api/types.d.ts +2 -2
  107. package/api/types.js.map +1 -1
  108. package/package.json +26 -20
  109. package/api/context.d.ts +0 -2
  110. package/api/context.js +0 -66
  111. package/api/context.js.map +0 -1
  112. package/api/graphql/BackgroundTaskSettingsSchema.d.ts +0 -2
  113. package/api/graphql/BackgroundTaskSettingsSchema.js +0 -84
  114. package/api/graphql/BackgroundTaskSettingsSchema.js.map +0 -1
  115. package/api/graphql/index.d.ts +0 -2
  116. package/api/graphql/index.js +0 -302
  117. package/api/graphql/index.js.map +0 -1
  118. package/api/handler/index.d.ts +0 -6
  119. package/api/handler/index.js +0 -55
  120. package/api/handler/index.js.map +0 -1
  121. package/api/handler/register.d.ts +0 -1
  122. package/api/handler/register.js +0 -15
  123. package/api/handler/register.js.map +0 -1
  124. package/api/plugins/TaskServicePlugin.d.ts +0 -19
  125. package/api/plugins/TaskServicePlugin.js +0 -13
  126. package/api/plugins/TaskServicePlugin.js.map +0 -1
  127. package/api/plugins/index.d.ts +0 -1
  128. package/api/plugins/index.js +0 -1
  129. package/api/service/EventBridgeEventTransportPlugin.d.ts +0 -16
  130. package/api/service/EventBridgeEventTransportPlugin.js +0 -52
  131. package/api/service/EventBridgeEventTransportPlugin.js.map +0 -1
  132. package/api/service/StepFunctionServicePlugin.d.ts +0 -25
  133. package/api/service/StepFunctionServicePlugin.js +0 -77
  134. package/api/service/StepFunctionServicePlugin.js.map +0 -1
  135. package/api/service/index.js.map +0 -1
@@ -13,7 +13,7 @@ export declare class SelfCleaningTaskDecoratorImpl implements TaskDefinition.Int
13
13
  get isPrivate(): boolean | undefined;
14
14
  get maxIterations(): number | undefined;
15
15
  get selfCleanup(): import("@webiny/api-core/features/task/TaskDefinition/abstractions").ISelfCleanup | undefined;
16
- get createInputValidation(): ((params: import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskCreateInputValidationParams) => import("zod").ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>> | import("@webiny/api/types").GenericRecord<PropertyKey, import("zod").ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>>) | undefined;
16
+ get createInputValidation(): ((params: import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskCreateInputValidationParams) => import("@webiny/api/types").GenericRecord<PropertyKey, import("zod").ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>> | import("zod").ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>) | undefined;
17
17
  get run(): (params: import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskRunParams<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>) => Promise<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskResult<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>>;
18
18
  get onBeforeTrigger(): ((params: import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskBeforeTriggerParams<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput>) => Promise<void>) | undefined;
19
19
  get onMaxIterations(): ((params: import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskLifecycleHook<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>) => Promise<void>) | undefined;
@@ -0,0 +1,12 @@
1
+ import type { ITask } from "../../api/types.js";
2
+ export type ITaskServiceTask = Pick<ITask, "id" | "definitionId">;
3
+ export interface ITaskService {
4
+ send(task: ITaskServiceTask, delay: number): Promise<unknown | null>;
5
+ fetch(task: ITask): Promise<unknown | null>;
6
+ }
7
+ export declare const TaskService: import("@webiny/di").Abstraction<ITaskService>;
8
+ export declare namespace TaskService {
9
+ type Interface = ITaskService;
10
+ type SendTaskParams = ITaskServiceTask;
11
+ type Task = ITask;
12
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const TaskService = createAbstraction("BackgroundTasks/TaskService");
3
+ export { TaskService };
4
+
5
+ //# sourceMappingURL=TaskService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/domain/TaskService.js","sources":["../../../src/api/domain/TaskService.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { ITask } from \"~/api/types.js\";\n\nexport type ITaskServiceTask = Pick<ITask, \"id\" | \"definitionId\">;\n\nexport interface ITaskService {\n send(task: ITaskServiceTask, delay: number): Promise<unknown | null>;\n fetch(task: ITask): Promise<unknown | null>;\n}\n\nexport const TaskService = createAbstraction<ITaskService>(\"BackgroundTasks/TaskService\");\n\nexport namespace TaskService {\n export type Interface = ITaskService;\n export type SendTaskParams = ITaskServiceTask;\n export type Task = ITask;\n}\n"],"names":["TaskService","createAbstraction"],"mappings":";AAUO,MAAMA,cAAcC,kBAAgC"}
@@ -2,9 +2,8 @@ import { Result } from "@webiny/feature/api";
2
2
  import { AbortTaskUseCase 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 AbortTaskUseCaseImpl 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): Promise<Result<TaskService.Task<I, O>, UseCaseAbstraction.Error>>;
10
9
  }
@@ -1,9 +1,9 @@
1
1
  class AbortTaskUseCaseImpl {
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.abort(params);
6
+ const result = await this.taskService.abort(params);
7
7
  return result;
8
8
  }
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api/features/AbortTask/AbortTaskUseCase.js","sources":["../../../../src/api/features/AbortTask/AbortTaskUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { AbortTaskUseCase 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 AbortTaskUseCaseImpl 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 >(\n params: UseCaseAbstraction.Params\n ): Promise<Result<TaskService.Task<I, O>, UseCaseAbstraction.Error>> {\n const result = await this.context.tasks.abort<I, O>(params);\n return result as unknown as Promise<\n Result<TaskService.Task<I, O>, UseCaseAbstraction.Error>\n >;\n }\n}\n"],"names":["AbortTaskUseCaseImpl","context","params","result"],"mappings":"AAMO,MAAMA;IACT,YAA2BC,OAAgB,CAAE;aAAlBA,OAAO,GAAPA;IAAmB;IAE9C,MAAM,QAIFC,MAAiC,EACgC;QACjE,MAAMC,SAAS,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAOD;QACpD,OAAOC;IAGX;AACJ"}
1
+ {"version":3,"file":"api/features/AbortTask/AbortTaskUseCase.js","sources":["../../../../src/api/features/AbortTask/AbortTaskUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { AbortTaskUseCase 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\";\nexport class AbortTaskUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private taskService: TaskService.Interface) {}\n\n async execute<\n I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput,\n O extends TaskService.GenericOutput = TaskService.GenericOutput\n >(\n params: UseCaseAbstraction.Params\n ): Promise<Result<TaskService.Task<I, O>, UseCaseAbstraction.Error>> {\n const result = await this.taskService.abort<I, O>(params);\n return result as unknown as Promise<\n Result<TaskService.Task<I, O>, UseCaseAbstraction.Error>\n >;\n }\n}\n"],"names":["AbortTaskUseCaseImpl","taskService","params","result"],"mappings":"AAIO,MAAMA;IACT,YAA2BC,WAAkC,CAAE;aAApCA,WAAW,GAAXA;IAAqC;IAEhE,MAAM,QAIFC,MAAiC,EACgC;QACjE,MAAMC,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAOD;QAClD,OAAOC;IAGX;AACJ"}
@@ -1,5 +1,4 @@
1
- import type { Context } from "../../../api/types.js";
2
1
  export declare const AbortTaskFeature: {
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 { AbortTaskUseCaseImpl } from "./AbortTaskUseCase.js";
3
3
  import { AbortTaskUseCase } from "./abstractions.js";
4
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
4
5
  const AbortTaskFeature = createFeature({
5
6
  name: "AbortTask",
6
- register (container, context) {
7
- container.registerInstance(AbortTaskUseCase, new AbortTaskUseCaseImpl(context));
7
+ register (container) {
8
+ container.registerFactory(AbortTaskUseCase, ()=>new AbortTaskUseCaseImpl(container.resolve(TaskService)));
8
9
  }
9
10
  });
10
11
  export { AbortTaskFeature };
@@ -1 +1 @@
1
- {"version":3,"file":"api/features/AbortTask/feature.js","sources":["../../../../src/api/features/AbortTask/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { AbortTaskUseCaseImpl } from \"./AbortTaskUseCase.js\";\nimport type { Context } from \"~/api/types.js\";\nimport { AbortTaskUseCase } from \"./abstractions.js\";\n\nexport const AbortTaskFeature = createFeature<Context>({\n name: \"AbortTask\",\n register(container, context) {\n container.registerInstance(AbortTaskUseCase, new AbortTaskUseCaseImpl(context!));\n }\n});\n"],"names":["AbortTaskFeature","createFeature","container","context","AbortTaskUseCase","AbortTaskUseCaseImpl"],"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/AbortTask/feature.js","sources":["../../../../src/api/features/AbortTask/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { AbortTaskUseCaseImpl } from \"./AbortTaskUseCase.js\";\nimport { AbortTaskUseCase } from \"./abstractions.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\n\nexport const AbortTaskFeature = createFeature({\n name: \"AbortTask\",\n register(container) {\n container.registerFactory(AbortTaskUseCase, () => {\n return new AbortTaskUseCaseImpl(container.resolve(TaskService));\n });\n }\n});\n"],"names":["AbortTaskFeature","createFeature","container","AbortTaskUseCase","AbortTaskUseCaseImpl","TaskService"],"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 { CleanupTaskSubtreeUseCase as UseCaseAbstraction } from "./abstractions.js";
2
- import type { Context } from "../../../api/types.js";
2
+ import type { TasksCrud } from "../../../api/TasksCrud.js";
3
3
  export declare class CleanupTaskSubtreeUseCaseImpl implements UseCaseAbstraction.Interface {
4
- private readonly context;
5
- constructor(context: Context);
4
+ private readonly tasksCrud;
5
+ constructor(tasksCrud: TasksCrud.Interface);
6
6
  execute(taskId: string): Promise<void>;
7
7
  }
@@ -1,9 +1,9 @@
1
1
  class CleanupTaskSubtreeUseCaseImpl {
2
- constructor(context){
3
- this.context = context;
2
+ constructor(tasksCrud){
3
+ this.tasksCrud = tasksCrud;
4
4
  }
5
5
  async execute(taskId) {
6
- await this.context.tasks.cleanupTaskSubtree(taskId);
6
+ await this.tasksCrud.cleanupTaskSubtree(taskId);
7
7
  }
8
8
  }
9
9
  export { CleanupTaskSubtreeUseCaseImpl };
@@ -1 +1 @@
1
- {"version":3,"file":"api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js","sources":["../../../../src/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.ts"],"sourcesContent":["import { CleanupTaskSubtreeUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { Context } from \"~/api/types.js\";\n\nexport class CleanupTaskSubtreeUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private readonly context: Context) {}\n\n public async execute(taskId: string): Promise<void> {\n await this.context.tasks.cleanupTaskSubtree(taskId);\n }\n}\n"],"names":["CleanupTaskSubtreeUseCaseImpl","context","taskId"],"mappings":"AAGO,MAAMA;IACT,YAAoCC,OAAgB,CAAE;aAAlBA,OAAO,GAAPA;IAAmB;IAEvD,MAAa,QAAQC,MAAc,EAAiB;QAChD,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAACA;IAChD;AACJ"}
1
+ {"version":3,"file":"api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js","sources":["../../../../src/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.ts"],"sourcesContent":["import { CleanupTaskSubtreeUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { TasksCrud } from \"~/api/TasksCrud.js\";\n\nexport class CleanupTaskSubtreeUseCaseImpl implements UseCaseAbstraction.Interface {\n public constructor(private readonly tasksCrud: TasksCrud.Interface) {}\n\n public async execute(taskId: string): Promise<void> {\n await this.tasksCrud.cleanupTaskSubtree(taskId);\n }\n}\n"],"names":["CleanupTaskSubtreeUseCaseImpl","tasksCrud","taskId"],"mappings":"AAGO,MAAMA;IACT,YAAoCC,SAA8B,CAAE;aAAhCA,SAAS,GAATA;IAAiC;IAErE,MAAa,QAAQC,MAAc,EAAiB;QAChD,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAACA;IAC5C;AACJ"}
@@ -14,7 +14,7 @@ class GetBackgroundTaskSettingsRepositoryImpl {
14
14
  this.getLatestRevisionRepository = getLatestRevisionRepository;
15
15
  this.createEntryRepository = createEntryRepository;
16
16
  this.createEntryDataFactory = createEntryDataFactory;
17
- this.defaultRetentionDays = buildParams.get("BackgroundTasks.RetentionDays") ?? BACKGROUND_TASK_DEFAULT_RETENTION_DAYS;
17
+ this.defaultRetentionDays = buildParams.get("BackgroundTasks.RetentionDays") || BACKGROUND_TASK_DEFAULT_RETENTION_DAYS;
18
18
  }
19
19
  async execute() {
20
20
  try {
@@ -26,9 +26,12 @@ class GetBackgroundTaskSettingsRepositoryImpl {
26
26
  const entryResult = await this.getLatestRevisionRepository.execute(model, {
27
27
  id: entryId
28
28
  });
29
- if (entryResult.isOk()) return Result.ok({
30
- retentionDays: entryResult.value.values.retentionDays ?? this.defaultRetentionDays
31
- });
29
+ if (entryResult.isOk()) {
30
+ const retentionDays = null != entryResult.value.values.retentionDays ? entryResult.value.values.retentionDays : this.defaultRetentionDays;
31
+ return Result.ok({
32
+ retentionDays
33
+ });
34
+ }
32
35
  const { entry } = await this.createEntryDataFactory.create(model, {
33
36
  id: singletonId,
34
37
  values: {
@@ -1 +1 @@
1
- {"version":3,"file":"api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js","sources":["../../../../src/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.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 { CreateEntryRepository } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport { CreateEntryDataFactory } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\nimport { BuildParams } from \"@webiny/api-core/features/buildParams/index.js\";\nimport { GetBackgroundTaskSettingsRepository as RepositoryAbstraction } 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;\n}\n\nclass GetBackgroundTaskSettingsRepositoryImpl implements RepositoryAbstraction.Interface {\n private readonly defaultRetentionDays: number;\n\n constructor(\n private readonly getModelRepository: GetModelRepository.Interface,\n private readonly getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface,\n private readonly createEntryRepository: CreateEntryRepository.Interface,\n private readonly createEntryDataFactory: CreateEntryDataFactory.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(): Promise<Result<IBackgroundTaskSettings, RepositoryAbstraction.Error>> {\n try {\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.isOk()) {\n return Result.ok({\n retentionDays:\n entryResult.value.values.retentionDays ?? this.defaultRetentionDays\n });\n }\n\n /* Entry doesn't exist yet — create it with the build-param default. */\n const { entry } =\n await this.createEntryDataFactory.create<BackgroundTaskSettingsValues>(model, {\n id: singletonId,\n values: {\n retentionDays: this.defaultRetentionDays\n }\n });\n\n const createResult = await this.createEntryRepository.execute(model, entry);\n if (createResult.isFail()) {\n return Result.fail(BackgroundTaskPersistenceError.from(createResult.error));\n }\n\n return Result.ok({ retentionDays: this.defaultRetentionDays });\n } catch (error) {\n return Result.fail(BackgroundTaskPersistenceError.from(error));\n }\n }\n}\n\nexport const GetBackgroundTaskSettingsRepository = RepositoryAbstraction.createImplementation({\n implementation: GetBackgroundTaskSettingsRepositoryImpl,\n dependencies: [\n GetModelRepository,\n GetLatestRevisionByEntryIdRepository,\n CreateEntryRepository,\n CreateEntryDataFactory,\n BuildParams\n ]\n});\n"],"names":["GetBackgroundTaskSettingsRepositoryImpl","getModelRepository","getLatestRevisionRepository","createEntryRepository","createEntryDataFactory","buildParams","BACKGROUND_TASK_DEFAULT_RETENTION_DAYS","modelResult","BACKGROUND_TASK_SETTINGS_MODEL_ID","Result","BackgroundTaskModelNotFoundError","model","singletonId","createCacheKey","entryId","entryResult","entry","createResult","BackgroundTaskPersistenceError","error","GetBackgroundTaskSettingsRepository","RepositoryAbstraction","GetModelRepository","GetLatestRevisionByEntryIdRepository","CreateEntryRepository","CreateEntryDataFactory","BuildParams"],"mappings":";;;;;;;;;;AAsBA,MAAMA;IAGF,YACqBC,kBAAgD,EAChDC,2BAA2E,EAC3EC,qBAAsD,EACtDC,sBAAwD,EACzEC,WAAkC,CACpC;aALmBJ,kBAAkB,GAAlBA;aACAC,2BAA2B,GAA3BA;aACAC,qBAAqB,GAArBA;aACAC,sBAAsB,GAAtBA;QAGjB,IAAI,CAAC,oBAAoB,GACrBC,YAAY,GAAG,CAAS,oCACxBC;IACR;IAEA,MAAM,UAAiF;QACnF,IAAI;YACA,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,IAAI,IAChB,OAAON,OAAO,EAAE,CAAC;gBACb,eACIM,YAAY,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB;YAC3E;YAIJ,MAAM,EAAEC,KAAK,EAAE,GACX,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAA+BL,OAAO;gBAC1E,IAAIC;gBACJ,QAAQ;oBACJ,eAAe,IAAI,CAAC,oBAAoB;gBAC5C;YACJ;YAEJ,MAAMK,eAAe,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAACN,OAAOK;YACrE,IAAIC,aAAa,MAAM,IACnB,OAAOR,OAAO,IAAI,CAACS,+BAA+B,IAAI,CAACD,aAAa,KAAK;YAG7E,OAAOR,OAAO,EAAE,CAAC;gBAAE,eAAe,IAAI,CAAC,oBAAoB;YAAC;QAChE,EAAE,OAAOU,OAAO;YACZ,OAAOV,OAAO,IAAI,CAACS,+BAA+B,IAAI,CAACC;QAC3D;IACJ;AACJ;AAEO,MAAMC,0EAAsCC,oCAAAA,oBAA0C,CAAC;IAC1F,gBAAgBrB;IAChB,cAAc;QACVsB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
1
+ {"version":3,"file":"api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js","sources":["../../../../src/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.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 { CreateEntryRepository } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport { CreateEntryDataFactory } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\nimport { BuildParams } from \"@webiny/api-core/features/buildParams/index.js\";\nimport { GetBackgroundTaskSettingsRepository as RepositoryAbstraction } 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;\n}\n\nclass GetBackgroundTaskSettingsRepositoryImpl implements RepositoryAbstraction.Interface {\n private readonly defaultRetentionDays: number;\n\n constructor(\n private readonly getModelRepository: GetModelRepository.Interface,\n private readonly getLatestRevisionRepository: GetLatestRevisionByEntryIdRepository.Interface,\n private readonly createEntryRepository: CreateEntryRepository.Interface,\n private readonly createEntryDataFactory: CreateEntryDataFactory.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(): Promise<Result<IBackgroundTaskSettings, RepositoryAbstraction.Error>> {\n try {\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.isOk()) {\n const retentionDays =\n entryResult.value.values.retentionDays != null\n ? entryResult.value.values.retentionDays\n : this.defaultRetentionDays;\n\n return Result.ok({ retentionDays });\n }\n\n /* Entry doesn't exist yet — create it with the build-param default. */\n const { entry } =\n await this.createEntryDataFactory.create<BackgroundTaskSettingsValues>(model, {\n id: singletonId,\n values: {\n retentionDays: this.defaultRetentionDays\n }\n });\n\n const createResult = await this.createEntryRepository.execute(model, entry);\n if (createResult.isFail()) {\n return Result.fail(BackgroundTaskPersistenceError.from(createResult.error));\n }\n\n return Result.ok({ retentionDays: this.defaultRetentionDays });\n } catch (error) {\n return Result.fail(BackgroundTaskPersistenceError.from(error));\n }\n }\n}\n\nexport const GetBackgroundTaskSettingsRepository = RepositoryAbstraction.createImplementation({\n implementation: GetBackgroundTaskSettingsRepositoryImpl,\n dependencies: [\n GetModelRepository,\n GetLatestRevisionByEntryIdRepository,\n CreateEntryRepository,\n CreateEntryDataFactory,\n BuildParams\n ]\n});\n"],"names":["GetBackgroundTaskSettingsRepositoryImpl","getModelRepository","getLatestRevisionRepository","createEntryRepository","createEntryDataFactory","buildParams","BACKGROUND_TASK_DEFAULT_RETENTION_DAYS","modelResult","BACKGROUND_TASK_SETTINGS_MODEL_ID","Result","BackgroundTaskModelNotFoundError","model","singletonId","createCacheKey","entryId","entryResult","retentionDays","entry","createResult","BackgroundTaskPersistenceError","error","GetBackgroundTaskSettingsRepository","RepositoryAbstraction","GetModelRepository","GetLatestRevisionByEntryIdRepository","CreateEntryRepository","CreateEntryDataFactory","BuildParams"],"mappings":";;;;;;;;;;AAsBA,MAAMA;IAGF,YACqBC,kBAAgD,EAChDC,2BAA2E,EAC3EC,qBAAsD,EACtDC,sBAAwD,EACzEC,WAAkC,CACpC;aALmBJ,kBAAkB,GAAlBA;aACAC,2BAA2B,GAA3BA;aACAC,qBAAqB,GAArBA;aACAC,sBAAsB,GAAtBA;QAGjB,IAAI,CAAC,oBAAoB,GACrBC,YAAY,GAAG,CAAS,oCACxBC;IACR;IAEA,MAAM,UAAiF;QACnF,IAAI;YACA,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,IAAI,IAAI;gBACpB,MAAMC,gBACFD,AAA0C,QAA1CA,YAAY,KAAK,CAAC,MAAM,CAAC,aAAa,GAChCA,YAAY,KAAK,CAAC,MAAM,CAAC,aAAa,GACtC,IAAI,CAAC,oBAAoB;gBAEnC,OAAON,OAAO,EAAE,CAAC;oBAAEO;gBAAc;YACrC;YAGA,MAAM,EAAEC,KAAK,EAAE,GACX,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAA+BN,OAAO;gBAC1E,IAAIC;gBACJ,QAAQ;oBACJ,eAAe,IAAI,CAAC,oBAAoB;gBAC5C;YACJ;YAEJ,MAAMM,eAAe,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAACP,OAAOM;YACrE,IAAIC,aAAa,MAAM,IACnB,OAAOT,OAAO,IAAI,CAACU,+BAA+B,IAAI,CAACD,aAAa,KAAK;YAG7E,OAAOT,OAAO,EAAE,CAAC;gBAAE,eAAe,IAAI,CAAC,oBAAoB;YAAC;QAChE,EAAE,OAAOW,OAAO;YACZ,OAAOX,OAAO,IAAI,CAACU,+BAA+B,IAAI,CAACC;QAC3D;IACJ;AACJ;AAEO,MAAMC,0EAAsCC,oCAAAA,oBAA0C,CAAC;IAC1F,gBAAgBtB;IAChB,cAAc;QACVuB;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
@@ -1,9 +1,9 @@
1
1
  import { GetTaskUseCase 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 } from "../../../api/types.js";
4
+ import type { TasksCrud } from "../../../api/TasksCrud.js";
5
5
  export declare class GetTaskUseCaseImpl implements UseCaseAbstraction.Interface {
6
- private context;
7
- constructor(context: Context);
6
+ private tasksCrud;
7
+ constructor(tasksCrud: TasksCrud.Interface);
8
8
  execute<I extends TaskDefinition.TaskInput = TaskDefinition.TaskInput, O extends TaskService.GenericOutput = TaskService.GenericOutput>(id: string): Promise<TaskService.Task<I, O> | null>;
9
9
  }
@@ -1,9 +1,9 @@
1
1
  class GetTaskUseCaseImpl {
2
- constructor(context){
3
- this.context = context;
2
+ constructor(tasksCrud){
3
+ this.tasksCrud = tasksCrud;
4
4
  }
5
5
  async execute(id) {
6
- return await this.context.tasks.getTask(id);
6
+ return await this.tasksCrud.getTask(id);
7
7
  }
8
8
  }
9
9
  export { GetTaskUseCaseImpl };
@@ -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"}
@@ -33,8 +33,8 @@ declare class TaskControllerImpl implements Abstraction.Interface {
33
33
  }) => Promise<void>;
34
34
  };
35
35
  task: {
36
- trigger: <CI extends TaskDefinition.TaskInput = import("@webiny/api-core/features/task/TaskDefinition/abstractions.js").ITaskInput>(params: ITaskTriggerParams<CI>) => Promise<Result<TaskService.Task<CI>, BaseError>>;
37
- listChildren: <CT extends TaskDefinition.TaskInput = import("@webiny/api-core/features/task/TaskDefinition/abstractions.js").ITaskInput, CO extends TaskDefinition.TaskOutput = import("@webiny/api-core/features/task/TaskDefinition/abstractions.js").ITaskOutput>(definitionId?: string) => Promise<TaskService.Task<CT, CO>[]>;
36
+ trigger: <CI extends TaskDefinition.TaskInput = TaskDefinition.TaskInput>(params: ITaskTriggerParams<CI>) => Promise<Result<TaskService.Task<CI>, BaseError>>;
37
+ listChildren: <CT extends TaskDefinition.TaskInput = TaskDefinition.TaskInput, CO extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput>(definitionId?: string) => Promise<TaskService.Task<CT, CO>[]>;
38
38
  };
39
39
  runtime: {
40
40
  isCloseToTimeout: (seconds?: number) => boolean;
@@ -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"}
@@ -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 {
@@ -39,8 +39,9 @@ class UpdateBackgroundTaskSettingsRepositoryImpl {
39
39
  }, entryResult.value);
40
40
  const updateResult = await this.updateEntryRepository.execute(model, entry);
41
41
  if (updateResult.isFail()) return Result.fail(BackgroundTaskPersistenceError.from(updateResult.error));
42
+ const retentionDays = null != entry.values.retentionDays ? entry.values.retentionDays : this.defaultRetentionDays;
42
43
  const settings = {
43
- retentionDays: entry.values.retentionDays ?? this.defaultRetentionDays
44
+ retentionDays
44
45
  };
45
46
  return Result.ok(settings);
46
47
  } 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 { 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 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","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,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,gBACFF,AAA8B,QAA9BA,MAAM,MAAM,CAAC,aAAa,GACpBA,MAAM,MAAM,CAAC,aAAa,GAC1B,IAAI,CAAC,oBAAoB;YAEnC,MAAMG,WAAoC;gBACtCD;YACJ;YAEA,OAAOX,OAAO,EAAE,CAACY;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOb,OAAO,IAAI,CAACO,+BAA+B,IAAI,CAACM;QAC3D;IACJ;AACJ;AAEO,MAAMC,gFAAyCC,uCAAAA,oBAA0C,CAAC;IAC7F,gBAAgB3B;IAChB,cAAc;QACV4B;QACAC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}