@webiny/api-headless-cms-bulk-actions 5.41.0-dbt.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 (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/abstractions/IListEntries.d.ts +7 -0
  4. package/abstractions/IListEntries.js +7 -0
  5. package/abstractions/IListEntries.js.map +1 -0
  6. package/abstractions/IProcessEntry.d.ts +4 -0
  7. package/abstractions/IProcessEntry.js +7 -0
  8. package/abstractions/IProcessEntry.js.map +1 -0
  9. package/abstractions/IUseCase.d.ts +3 -0
  10. package/abstractions/IUseCase.js +7 -0
  11. package/abstractions/IUseCase.js.map +1 -0
  12. package/abstractions/index.d.ts +3 -0
  13. package/abstractions/index.js +40 -0
  14. package/abstractions/index.js.map +1 -0
  15. package/handlers/eventBridgeEventHandler.d.ts +1 -0
  16. package/handlers/eventBridgeEventHandler.js +49 -0
  17. package/handlers/eventBridgeEventHandler.js.map +1 -0
  18. package/handlers/index.d.ts +1 -0
  19. package/handlers/index.js +14 -0
  20. package/handlers/index.js.map +1 -0
  21. package/handlers/setupEventsTenant.d.ts +1 -0
  22. package/handlers/setupEventsTenant.js +19 -0
  23. package/handlers/setupEventsTenant.js.map +1 -0
  24. package/index.d.ts +4 -0
  25. package/index.js +51 -0
  26. package/index.js.map +1 -0
  27. package/package.json +52 -0
  28. package/plugins/createBulkAction.d.ts +9 -0
  29. package/plugins/createBulkAction.js +35 -0
  30. package/plugins/createBulkAction.js.map +1 -0
  31. package/plugins/createBulkActionGraphQL.d.ts +7 -0
  32. package/plugins/createBulkActionGraphQL.js +56 -0
  33. package/plugins/createBulkActionGraphQL.js.map +1 -0
  34. package/plugins/createBulkActionTasks.d.ts +8 -0
  35. package/plugins/createBulkActionTasks.js +108 -0
  36. package/plugins/createBulkActionTasks.js.map +1 -0
  37. package/plugins/createDefaultGraphQL.d.ts +3 -0
  38. package/plugins/createDefaultGraphQL.js +57 -0
  39. package/plugins/createDefaultGraphQL.js.map +1 -0
  40. package/plugins/index.d.ts +2 -0
  41. package/plugins/index.js +29 -0
  42. package/plugins/index.js.map +1 -0
  43. package/tasks/createBulkActionEntriesTasks.d.ts +1 -0
  44. package/tasks/createBulkActionEntriesTasks.js +38 -0
  45. package/tasks/createBulkActionEntriesTasks.js.map +1 -0
  46. package/tasks/createEmptyTrashBinsTask.d.ts +2 -0
  47. package/tasks/createEmptyTrashBinsTask.js +84 -0
  48. package/tasks/createEmptyTrashBinsTask.js.map +1 -0
  49. package/tasks/index.d.ts +1 -0
  50. package/tasks/index.js +14 -0
  51. package/tasks/index.js.map +1 -0
  52. package/types.d.ts +41 -0
  53. package/types.js +7 -0
  54. package/types.js.map +1 -0
  55. package/useCases/DeleteEntry.d.ts +10 -0
  56. package/useCases/DeleteEntry.js +26 -0
  57. package/useCases/DeleteEntry.js.map +1 -0
  58. package/useCases/ListDeletedEntries.d.ts +13 -0
  59. package/useCases/ListDeletedEntries.js +28 -0
  60. package/useCases/ListDeletedEntries.js.map +1 -0
  61. package/useCases/ListLatestEntries.d.ts +13 -0
  62. package/useCases/ListLatestEntries.js +28 -0
  63. package/useCases/ListLatestEntries.js.map +1 -0
  64. package/useCases/ListPublishedEntries.d.ts +13 -0
  65. package/useCases/ListPublishedEntries.js +28 -0
  66. package/useCases/ListPublishedEntries.js.map +1 -0
  67. package/useCases/MoveEntryToFolder.d.ts +13 -0
  68. package/useCases/MoveEntryToFolder.js +23 -0
  69. package/useCases/MoveEntryToFolder.js.map +1 -0
  70. package/useCases/MoveEntryToTrash.d.ts +10 -0
  71. package/useCases/MoveEntryToTrash.js +26 -0
  72. package/useCases/MoveEntryToTrash.js.map +1 -0
  73. package/useCases/PublishEntry.d.ts +10 -0
  74. package/useCases/PublishEntry.js +20 -0
  75. package/useCases/PublishEntry.js.map +1 -0
  76. package/useCases/RestoreEntryFromTrash.d.ts +10 -0
  77. package/useCases/RestoreEntryFromTrash.js +24 -0
  78. package/useCases/RestoreEntryFromTrash.js.map +1 -0
  79. package/useCases/UnpublishEntry.d.ts +10 -0
  80. package/useCases/UnpublishEntry.js +20 -0
  81. package/useCases/UnpublishEntry.js.map +1 -0
  82. package/useCases/index.d.ts +9 -0
  83. package/useCases/index.js +106 -0
  84. package/useCases/index.js.map +1 -0
  85. package/useCases/internals/ChildTaskCleanup/ChildTasksCleanup.d.ts +13 -0
  86. package/useCases/internals/ChildTaskCleanup/ChildTasksCleanup.js +63 -0
  87. package/useCases/internals/ChildTaskCleanup/ChildTasksCleanup.js.map +1 -0
  88. package/useCases/internals/ChildTaskCleanup/index.d.ts +1 -0
  89. package/useCases/internals/ChildTaskCleanup/index.js +18 -0
  90. package/useCases/internals/ChildTaskCleanup/index.js.map +1 -0
  91. package/useCases/internals/CreateTasksByModel/CreateTasksByModel.d.ts +12 -0
  92. package/useCases/internals/CreateTasksByModel/CreateTasksByModel.js +107 -0
  93. package/useCases/internals/CreateTasksByModel/CreateTasksByModel.js.map +1 -0
  94. package/useCases/internals/CreateTasksByModel/TaskCache.d.ts +31 -0
  95. package/useCases/internals/CreateTasksByModel/TaskCache.js +68 -0
  96. package/useCases/internals/CreateTasksByModel/TaskCache.js.map +1 -0
  97. package/useCases/internals/CreateTasksByModel/index.d.ts +1 -0
  98. package/useCases/internals/CreateTasksByModel/index.js +18 -0
  99. package/useCases/internals/CreateTasksByModel/index.js.map +1 -0
  100. package/useCases/internals/ProcessTask/ProcessTask.d.ts +14 -0
  101. package/useCases/internals/ProcessTask/ProcessTask.js +92 -0
  102. package/useCases/internals/ProcessTask/ProcessTask.js.map +1 -0
  103. package/useCases/internals/ProcessTask/Result.d.ts +9 -0
  104. package/useCases/internals/ProcessTask/Result.js +29 -0
  105. package/useCases/internals/ProcessTask/Result.js.map +1 -0
  106. package/useCases/internals/ProcessTask/index.d.ts +1 -0
  107. package/useCases/internals/ProcessTask/index.js +18 -0
  108. package/useCases/internals/ProcessTask/index.js.map +1 -0
  109. package/useCases/internals/ProcessTasksByModel/ProcessTasksByModel.d.ts +11 -0
  110. package/useCases/internals/ProcessTasksByModel/ProcessTasksByModel.js +61 -0
  111. package/useCases/internals/ProcessTasksByModel/ProcessTasksByModel.js.map +1 -0
  112. package/useCases/internals/ProcessTasksByModel/index.d.ts +1 -0
  113. package/useCases/internals/ProcessTasksByModel/index.js +18 -0
  114. package/useCases/internals/ProcessTasksByModel/index.js.map +1 -0
  115. package/useCases/internals/index.d.ts +4 -0
  116. package/useCases/internals/index.js +51 -0
  117. package/useCases/internals/index.js.map +1 -0
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createMoveEntryToTrash = void 0;
7
+ var _utils = require("@webiny/utils");
8
+ class MoveEntryToTrash {
9
+ constructor(context) {
10
+ this.context = context;
11
+ }
12
+ async execute(model, id) {
13
+ const {
14
+ id: entryId
15
+ } = (0, _utils.parseIdentifier)(id);
16
+ await this.context.cms.deleteEntry(model, entryId, {
17
+ permanently: false
18
+ });
19
+ }
20
+ }
21
+ const createMoveEntryToTrash = context => {
22
+ return new MoveEntryToTrash(context);
23
+ };
24
+ exports.createMoveEntryToTrash = createMoveEntryToTrash;
25
+
26
+ //# sourceMappingURL=MoveEntryToTrash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utils","require","MoveEntryToTrash","constructor","context","execute","model","id","entryId","parseIdentifier","cms","deleteEntry","permanently","createMoveEntryToTrash","exports"],"sources":["MoveEntryToTrash.ts"],"sourcesContent":["import { parseIdentifier } from \"@webiny/utils\";\nimport { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { IProcessEntry } from \"~/abstractions\";\nimport { HcmsBulkActionsContext } from \"~/types\";\n\nclass MoveEntryToTrash implements IProcessEntry {\n private readonly context: HcmsBulkActionsContext;\n\n constructor(context: HcmsBulkActionsContext) {\n this.context = context;\n }\n\n async execute(model: CmsModel, id: string): Promise<void> {\n const { id: entryId } = parseIdentifier(id);\n await this.context.cms.deleteEntry(model, entryId, { permanently: false });\n }\n}\n\nexport const createMoveEntryToTrash = (context: HcmsBulkActionsContext) => {\n return new MoveEntryToTrash(context);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAKA,MAAMC,gBAAgB,CAA0B;EAG5CC,WAAWA,CAACC,OAA+B,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAiB;IACtD,MAAM;MAAEA,EAAE,EAAEC;IAAQ,CAAC,GAAG,IAAAC,sBAAe,EAACF,EAAE,CAAC;IAC3C,MAAM,IAAI,CAACH,OAAO,CAACM,GAAG,CAACC,WAAW,CAACL,KAAK,EAAEE,OAAO,EAAE;MAAEI,WAAW,EAAE;IAAM,CAAC,CAAC;EAC9E;AACJ;AAEO,MAAMC,sBAAsB,GAAIT,OAA+B,IAAK;EACvE,OAAO,IAAIF,gBAAgB,CAACE,OAAO,CAAC;AACxC,CAAC;AAACU,OAAA,CAAAD,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { CmsModel } from "@webiny/api-headless-cms/types";
2
+ import { IProcessEntry } from "../abstractions";
3
+ import { HcmsBulkActionsContext } from "../types";
4
+ declare class PublishEntry implements IProcessEntry {
5
+ private readonly context;
6
+ constructor(context: HcmsBulkActionsContext);
7
+ execute(model: CmsModel, id: string): Promise<void>;
8
+ }
9
+ export declare const createPublishEntry: (context: HcmsBulkActionsContext) => PublishEntry;
10
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createPublishEntry = void 0;
7
+ class PublishEntry {
8
+ constructor(context) {
9
+ this.context = context;
10
+ }
11
+ async execute(model, id) {
12
+ await this.context.cms.publishEntry(model, id);
13
+ }
14
+ }
15
+ const createPublishEntry = context => {
16
+ return new PublishEntry(context);
17
+ };
18
+ exports.createPublishEntry = createPublishEntry;
19
+
20
+ //# sourceMappingURL=PublishEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PublishEntry","constructor","context","execute","model","id","cms","publishEntry","createPublishEntry","exports"],"sources":["PublishEntry.ts"],"sourcesContent":["import { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { IProcessEntry } from \"~/abstractions\";\nimport { HcmsBulkActionsContext } from \"~/types\";\n\nclass PublishEntry implements IProcessEntry {\n private readonly context: HcmsBulkActionsContext;\n\n constructor(context: HcmsBulkActionsContext) {\n this.context = context;\n }\n\n async execute(model: CmsModel, id: string): Promise<void> {\n await this.context.cms.publishEntry(model, id);\n }\n}\n\nexport const createPublishEntry = (context: HcmsBulkActionsContext) => {\n return new PublishEntry(context);\n};\n"],"mappings":";;;;;;AAIA,MAAMA,YAAY,CAA0B;EAGxCC,WAAWA,CAACC,OAA+B,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAiB;IACtD,MAAM,IAAI,CAACH,OAAO,CAACI,GAAG,CAACC,YAAY,CAACH,KAAK,EAAEC,EAAE,CAAC;EAClD;AACJ;AAEO,MAAMG,kBAAkB,GAAIN,OAA+B,IAAK;EACnE,OAAO,IAAIF,YAAY,CAACE,OAAO,CAAC;AACpC,CAAC;AAACO,OAAA,CAAAD,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { CmsModel } from "@webiny/api-headless-cms/types";
2
+ import { IProcessEntry } from "../abstractions";
3
+ import { HcmsBulkActionsContext } from "../types";
4
+ declare class RestoreEntryFromTrash implements IProcessEntry {
5
+ private readonly context;
6
+ constructor(context: HcmsBulkActionsContext);
7
+ execute(model: CmsModel, id: string): Promise<void>;
8
+ }
9
+ export declare const createRestoreEntryFromTrash: (context: HcmsBulkActionsContext) => RestoreEntryFromTrash;
10
+ export {};
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createRestoreEntryFromTrash = void 0;
7
+ var _utils = require("@webiny/utils");
8
+ class RestoreEntryFromTrash {
9
+ constructor(context) {
10
+ this.context = context;
11
+ }
12
+ async execute(model, id) {
13
+ const {
14
+ id: entryId
15
+ } = (0, _utils.parseIdentifier)(id);
16
+ await this.context.cms.restoreEntryFromBin(model, entryId);
17
+ }
18
+ }
19
+ const createRestoreEntryFromTrash = context => {
20
+ return new RestoreEntryFromTrash(context);
21
+ };
22
+ exports.createRestoreEntryFromTrash = createRestoreEntryFromTrash;
23
+
24
+ //# sourceMappingURL=RestoreEntryFromTrash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utils","require","RestoreEntryFromTrash","constructor","context","execute","model","id","entryId","parseIdentifier","cms","restoreEntryFromBin","createRestoreEntryFromTrash","exports"],"sources":["RestoreEntryFromTrash.ts"],"sourcesContent":["import { parseIdentifier } from \"@webiny/utils\";\nimport { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { IProcessEntry } from \"~/abstractions\";\nimport { HcmsBulkActionsContext } from \"~/types\";\n\nclass RestoreEntryFromTrash implements IProcessEntry {\n private readonly context: HcmsBulkActionsContext;\n\n constructor(context: HcmsBulkActionsContext) {\n this.context = context;\n }\n\n async execute(model: CmsModel, id: string): Promise<void> {\n const { id: entryId } = parseIdentifier(id);\n await this.context.cms.restoreEntryFromBin(model, entryId);\n }\n}\n\nexport const createRestoreEntryFromTrash = (context: HcmsBulkActionsContext) => {\n return new RestoreEntryFromTrash(context);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAKA,MAAMC,qBAAqB,CAA0B;EAGjDC,WAAWA,CAACC,OAA+B,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAiB;IACtD,MAAM;MAAEA,EAAE,EAAEC;IAAQ,CAAC,GAAG,IAAAC,sBAAe,EAACF,EAAE,CAAC;IAC3C,MAAM,IAAI,CAACH,OAAO,CAACM,GAAG,CAACC,mBAAmB,CAACL,KAAK,EAAEE,OAAO,CAAC;EAC9D;AACJ;AAEO,MAAMI,2BAA2B,GAAIR,OAA+B,IAAK;EAC5E,OAAO,IAAIF,qBAAqB,CAACE,OAAO,CAAC;AAC7C,CAAC;AAACS,OAAA,CAAAD,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { CmsModel } from "@webiny/api-headless-cms/types";
2
+ import { IProcessEntry } from "../abstractions";
3
+ import { HcmsBulkActionsContext } from "../types";
4
+ declare class UnpublishEntry implements IProcessEntry {
5
+ private readonly context;
6
+ constructor(context: HcmsBulkActionsContext);
7
+ execute(model: CmsModel, id: string): Promise<void>;
8
+ }
9
+ export declare const createUnpublishEntry: (context: HcmsBulkActionsContext) => UnpublishEntry;
10
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createUnpublishEntry = void 0;
7
+ class UnpublishEntry {
8
+ constructor(context) {
9
+ this.context = context;
10
+ }
11
+ async execute(model, id) {
12
+ await this.context.cms.unpublishEntry(model, id);
13
+ }
14
+ }
15
+ const createUnpublishEntry = context => {
16
+ return new UnpublishEntry(context);
17
+ };
18
+ exports.createUnpublishEntry = createUnpublishEntry;
19
+
20
+ //# sourceMappingURL=UnpublishEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UnpublishEntry","constructor","context","execute","model","id","cms","unpublishEntry","createUnpublishEntry","exports"],"sources":["UnpublishEntry.ts"],"sourcesContent":["import { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { IProcessEntry } from \"~/abstractions\";\nimport { HcmsBulkActionsContext } from \"~/types\";\n\nclass UnpublishEntry implements IProcessEntry {\n private readonly context: HcmsBulkActionsContext;\n\n constructor(context: HcmsBulkActionsContext) {\n this.context = context;\n }\n\n async execute(model: CmsModel, id: string): Promise<void> {\n await this.context.cms.unpublishEntry(model, id);\n }\n}\n\nexport const createUnpublishEntry = (context: HcmsBulkActionsContext) => {\n return new UnpublishEntry(context);\n};\n"],"mappings":";;;;;;AAIA,MAAMA,cAAc,CAA0B;EAG1CC,WAAWA,CAACC,OAA+B,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAiB;IACtD,MAAM,IAAI,CAACH,OAAO,CAACI,GAAG,CAACC,cAAc,CAACH,KAAK,EAAEC,EAAE,CAAC;EACpD;AACJ;AAEO,MAAMG,oBAAoB,GAAIN,OAA+B,IAAK;EACrE,OAAO,IAAIF,cAAc,CAACE,OAAO,CAAC;AACtC,CAAC;AAACO,OAAA,CAAAD,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ export * from "./DeleteEntry";
2
+ export * from "./ListDeletedEntries";
3
+ export * from "./ListLatestEntries";
4
+ export * from "./ListPublishedEntries";
5
+ export * from "./MoveEntryToFolder";
6
+ export * from "./MoveEntryToTrash";
7
+ export * from "./PublishEntry";
8
+ export * from "./RestoreEntryFromTrash";
9
+ export * from "./UnpublishEntry";
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _DeleteEntry = require("./DeleteEntry");
7
+ Object.keys(_DeleteEntry).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _DeleteEntry[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _DeleteEntry[key];
14
+ }
15
+ });
16
+ });
17
+ var _ListDeletedEntries = require("./ListDeletedEntries");
18
+ Object.keys(_ListDeletedEntries).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _ListDeletedEntries[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _ListDeletedEntries[key];
25
+ }
26
+ });
27
+ });
28
+ var _ListLatestEntries = require("./ListLatestEntries");
29
+ Object.keys(_ListLatestEntries).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _ListLatestEntries[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _ListLatestEntries[key];
36
+ }
37
+ });
38
+ });
39
+ var _ListPublishedEntries = require("./ListPublishedEntries");
40
+ Object.keys(_ListPublishedEntries).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _ListPublishedEntries[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _ListPublishedEntries[key];
47
+ }
48
+ });
49
+ });
50
+ var _MoveEntryToFolder = require("./MoveEntryToFolder");
51
+ Object.keys(_MoveEntryToFolder).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _MoveEntryToFolder[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _MoveEntryToFolder[key];
58
+ }
59
+ });
60
+ });
61
+ var _MoveEntryToTrash = require("./MoveEntryToTrash");
62
+ Object.keys(_MoveEntryToTrash).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _MoveEntryToTrash[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _MoveEntryToTrash[key];
69
+ }
70
+ });
71
+ });
72
+ var _PublishEntry = require("./PublishEntry");
73
+ Object.keys(_PublishEntry).forEach(function (key) {
74
+ if (key === "default" || key === "__esModule") return;
75
+ if (key in exports && exports[key] === _PublishEntry[key]) return;
76
+ Object.defineProperty(exports, key, {
77
+ enumerable: true,
78
+ get: function () {
79
+ return _PublishEntry[key];
80
+ }
81
+ });
82
+ });
83
+ var _RestoreEntryFromTrash = require("./RestoreEntryFromTrash");
84
+ Object.keys(_RestoreEntryFromTrash).forEach(function (key) {
85
+ if (key === "default" || key === "__esModule") return;
86
+ if (key in exports && exports[key] === _RestoreEntryFromTrash[key]) return;
87
+ Object.defineProperty(exports, key, {
88
+ enumerable: true,
89
+ get: function () {
90
+ return _RestoreEntryFromTrash[key];
91
+ }
92
+ });
93
+ });
94
+ var _UnpublishEntry = require("./UnpublishEntry");
95
+ Object.keys(_UnpublishEntry).forEach(function (key) {
96
+ if (key === "default" || key === "__esModule") return;
97
+ if (key in exports && exports[key] === _UnpublishEntry[key]) return;
98
+ Object.defineProperty(exports, key, {
99
+ enumerable: true,
100
+ get: function () {
101
+ return _UnpublishEntry[key];
102
+ }
103
+ });
104
+ });
105
+
106
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_DeleteEntry","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ListDeletedEntries","_ListLatestEntries","_ListPublishedEntries","_MoveEntryToFolder","_MoveEntryToTrash","_PublishEntry","_RestoreEntryFromTrash","_UnpublishEntry"],"sources":["index.ts"],"sourcesContent":["export * from \"./DeleteEntry\";\nexport * from \"./ListDeletedEntries\";\nexport * from \"./ListLatestEntries\";\nexport * from \"./ListPublishedEntries\";\nexport * from \"./MoveEntryToFolder\";\nexport * from \"./MoveEntryToTrash\";\nexport * from \"./PublishEntry\";\nexport * from \"./RestoreEntryFromTrash\";\nexport * from \"./UnpublishEntry\";\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { ITask, Context } from "@webiny/tasks";
2
+ import { IUseCase } from "../../../abstractions";
3
+ export interface IChildTasksCleanupExecuteParams {
4
+ context: Context;
5
+ task: ITask;
6
+ }
7
+ /**
8
+ * Cleanup of the child tasks.
9
+ * This code will remove all the child tasks and their logs, which have no errors in them.
10
+ */
11
+ export declare class ChildTasksCleanup implements IUseCase<IChildTasksCleanupExecuteParams, void> {
12
+ execute(params: IChildTasksCleanupExecuteParams): Promise<void>;
13
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChildTasksCleanup = void 0;
7
+ var _tasks = require("@webiny/tasks");
8
+ /**
9
+ * Cleanup of the child tasks.
10
+ * This code will remove all the child tasks and their logs, which have no errors in them.
11
+ */
12
+ class ChildTasksCleanup {
13
+ async execute(params) {
14
+ const {
15
+ context,
16
+ task
17
+ } = params;
18
+ const {
19
+ items: childTasks
20
+ } = await context.tasks.listTasks({
21
+ where: {
22
+ parentId: task.id
23
+ },
24
+ // Really doubtful there will be more than 10k of child tasks.
25
+ limit: 10000
26
+ });
27
+ if (childTasks.length === 0) {
28
+ return;
29
+ }
30
+ const childTaskIdList = childTasks.map(childTask => childTask.id);
31
+ const {
32
+ items: childLogs
33
+ } = await context.tasks.listLogs({
34
+ where: {
35
+ task_in: childTaskIdList
36
+ },
37
+ limit: 10000
38
+ });
39
+ const deletedChildTaskLogIdList = [];
40
+ /**
41
+ * First, we need to remove all the logs which have no errors.
42
+ */
43
+ for (const log of childLogs) {
44
+ if (log.items.some(item => item.type === _tasks.ITaskLogItemType.ERROR)) {
45
+ continue;
46
+ }
47
+ await context.tasks.deleteLog(log.id);
48
+ if (deletedChildTaskLogIdList.includes(log.task)) {
49
+ continue;
50
+ }
51
+ deletedChildTaskLogIdList.push(log.task);
52
+ }
53
+ /**
54
+ * Now we can remove the tasks.
55
+ */
56
+ for (const childTaskId of deletedChildTaskLogIdList) {
57
+ await context.tasks.deleteTask(childTaskId);
58
+ }
59
+ }
60
+ }
61
+ exports.ChildTasksCleanup = ChildTasksCleanup;
62
+
63
+ //# sourceMappingURL=ChildTasksCleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_tasks","require","ChildTasksCleanup","execute","params","context","task","items","childTasks","tasks","listTasks","where","parentId","id","limit","length","childTaskIdList","map","childTask","childLogs","listLogs","task_in","deletedChildTaskLogIdList","log","some","item","type","ITaskLogItemType","ERROR","deleteLog","includes","push","childTaskId","deleteTask","exports"],"sources":["ChildTasksCleanup.ts"],"sourcesContent":["import { ITask, Context, ITaskLogItemType } from \"@webiny/tasks\";\nimport { IUseCase } from \"~/abstractions\";\n\nexport interface IChildTasksCleanupExecuteParams {\n context: Context;\n task: ITask;\n}\n\n/**\n * Cleanup of the child tasks.\n * This code will remove all the child tasks and their logs, which have no errors in them.\n */\nexport class ChildTasksCleanup implements IUseCase<IChildTasksCleanupExecuteParams, void> {\n public async execute(params: IChildTasksCleanupExecuteParams): Promise<void> {\n const { context, task } = params;\n\n const { items: childTasks } = await context.tasks.listTasks({\n where: {\n parentId: task.id\n },\n // Really doubtful there will be more than 10k of child tasks.\n limit: 10000\n });\n\n if (childTasks.length === 0) {\n return;\n }\n\n const childTaskIdList = childTasks.map(childTask => childTask.id);\n\n const { items: childLogs } = await context.tasks.listLogs({\n where: {\n task_in: childTaskIdList\n },\n limit: 10000\n });\n\n const deletedChildTaskLogIdList: string[] = [];\n /**\n * First, we need to remove all the logs which have no errors.\n */\n for (const log of childLogs) {\n if (log.items.some(item => item.type === ITaskLogItemType.ERROR)) {\n continue;\n }\n await context.tasks.deleteLog(log.id);\n if (deletedChildTaskLogIdList.includes(log.task)) {\n continue;\n }\n deletedChildTaskLogIdList.push(log.task);\n }\n /**\n * Now we can remove the tasks.\n */\n for (const childTaskId of deletedChildTaskLogIdList) {\n await context.tasks.deleteTask(childTaskId);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAQA;AACA;AACA;AACA;AACO,MAAMC,iBAAiB,CAA4D;EACtF,MAAaC,OAAOA,CAACC,MAAuC,EAAiB;IACzE,MAAM;MAAEC,OAAO;MAAEC;IAAK,CAAC,GAAGF,MAAM;IAEhC,MAAM;MAAEG,KAAK,EAAEC;IAAW,CAAC,GAAG,MAAMH,OAAO,CAACI,KAAK,CAACC,SAAS,CAAC;MACxDC,KAAK,EAAE;QACHC,QAAQ,EAAEN,IAAI,CAACO;MACnB,CAAC;MACD;MACAC,KAAK,EAAE;IACX,CAAC,CAAC;IAEF,IAAIN,UAAU,CAACO,MAAM,KAAK,CAAC,EAAE;MACzB;IACJ;IAEA,MAAMC,eAAe,GAAGR,UAAU,CAACS,GAAG,CAACC,SAAS,IAAIA,SAAS,CAACL,EAAE,CAAC;IAEjE,MAAM;MAAEN,KAAK,EAAEY;IAAU,CAAC,GAAG,MAAMd,OAAO,CAACI,KAAK,CAACW,QAAQ,CAAC;MACtDT,KAAK,EAAE;QACHU,OAAO,EAAEL;MACb,CAAC;MACDF,KAAK,EAAE;IACX,CAAC,CAAC;IAEF,MAAMQ,yBAAmC,GAAG,EAAE;IAC9C;AACR;AACA;IACQ,KAAK,MAAMC,GAAG,IAAIJ,SAAS,EAAE;MACzB,IAAII,GAAG,CAAChB,KAAK,CAACiB,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,IAAI,KAAKC,uBAAgB,CAACC,KAAK,CAAC,EAAE;QAC9D;MACJ;MACA,MAAMvB,OAAO,CAACI,KAAK,CAACoB,SAAS,CAACN,GAAG,CAACV,EAAE,CAAC;MACrC,IAAIS,yBAAyB,CAACQ,QAAQ,CAACP,GAAG,CAACjB,IAAI,CAAC,EAAE;QAC9C;MACJ;MACAgB,yBAAyB,CAACS,IAAI,CAACR,GAAG,CAACjB,IAAI,CAAC;IAC5C;IACA;AACR;AACA;IACQ,KAAK,MAAM0B,WAAW,IAAIV,yBAAyB,EAAE;MACjD,MAAMjB,OAAO,CAACI,KAAK,CAACwB,UAAU,CAACD,WAAW,CAAC;IAC/C;EACJ;AACJ;AAACE,OAAA,CAAAhC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export * from "./ChildTasksCleanup";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _ChildTasksCleanup = require("./ChildTasksCleanup");
7
+ Object.keys(_ChildTasksCleanup).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _ChildTasksCleanup[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _ChildTasksCleanup[key];
14
+ }
15
+ });
16
+ });
17
+
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ChildTasksCleanup","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./ChildTasksCleanup\";\n"],"mappings":";;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,kBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,kBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,kBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { ITaskResponseResult } from "@webiny/tasks";
2
+ import { IListEntries } from "../../../abstractions";
3
+ import { IBulkActionOperationByModelTaskParams } from "../../../types";
4
+ /**
5
+ * The `CreateTasksByModel` class handles the execution of a task to process entries in batches.
6
+ */
7
+ export declare class CreateTasksByModel {
8
+ private readonly taskCache;
9
+ private listEntriesGateway;
10
+ constructor(taskDefinition: string, listEntriesGateway: IListEntries);
11
+ execute(params: IBulkActionOperationByModelTaskParams): Promise<ITaskResponseResult>;
12
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CreateTasksByModel = void 0;
7
+ var _TaskCache = require("./TaskCache");
8
+ const BATCH_SIZE = 50; // Number of entries to fetch in each batch
9
+ const WAITING_TIME = 5; // Time to wait in seconds before retrying
10
+
11
+ /**
12
+ * The `CreateTasksByModel` class handles the execution of a task to process entries in batches.
13
+ */
14
+ class CreateTasksByModel {
15
+ constructor(taskDefinition, listEntriesGateway) {
16
+ this.taskCache = new _TaskCache.TaskCache(taskDefinition);
17
+ this.listEntriesGateway = listEntriesGateway;
18
+ }
19
+ async execute(params) {
20
+ const {
21
+ response,
22
+ input,
23
+ isAborted,
24
+ isCloseToTimeout,
25
+ context,
26
+ store
27
+ } = params;
28
+ try {
29
+ const listEntriesParams = {
30
+ where: input.where,
31
+ search: input.search,
32
+ after: input.after,
33
+ limit: BATCH_SIZE
34
+ };
35
+ let currentBatch = input.currentBatch || 1;
36
+ while (true) {
37
+ if (isAborted()) {
38
+ return response.aborted();
39
+ } else if (isCloseToTimeout()) {
40
+ await this.taskCache.triggerTask(context, store.getTask());
41
+ return response.continue({
42
+ ...input,
43
+ ...listEntriesParams,
44
+ currentBatch
45
+ });
46
+ }
47
+
48
+ // List entries from the HCMS based on the provided query
49
+ const {
50
+ entries,
51
+ meta
52
+ } = await this.listEntriesGateway.execute(input.modelId, listEntriesParams);
53
+
54
+ // End the task if no entries match the query
55
+ if (meta.totalCount === 0) {
56
+ return response.done(`Task done: no entries found for model "${input.modelId}", skipping task creation.`);
57
+ }
58
+
59
+ // Continue processing if no entries are returned in the current batch
60
+ if (entries.length === 0) {
61
+ await this.taskCache.triggerTask(context, store.getTask());
62
+ return response.continue({
63
+ ...input,
64
+ ...listEntriesParams,
65
+ currentBatch,
66
+ totalCount: meta.totalCount,
67
+ processing: true
68
+ }, {
69
+ seconds: WAITING_TIME
70
+ });
71
+ }
72
+ const ids = entries.map(entry => entry.id); // Extract entry IDs
73
+
74
+ if (ids.length > 0) {
75
+ // Cache the task with the entry IDs
76
+ this.taskCache.cacheTask({
77
+ modelId: input.modelId,
78
+ identity: input.identity,
79
+ data: input.data,
80
+ ids
81
+ });
82
+ }
83
+
84
+ // Continue processing if there are no more entries or pagination is complete
85
+ if (!meta.hasMoreItems || !meta.cursor) {
86
+ await this.taskCache.triggerTask(context, store.getTask());
87
+ return response.continue({
88
+ ...input,
89
+ ...listEntriesParams,
90
+ currentBatch,
91
+ totalCount: meta.totalCount,
92
+ processing: true
93
+ }, {
94
+ seconds: WAITING_TIME
95
+ });
96
+ }
97
+ listEntriesParams.after = meta.cursor;
98
+ currentBatch++;
99
+ }
100
+ } catch (ex) {
101
+ throw new Error(ex.message ?? `Error while creating task.`);
102
+ }
103
+ }
104
+ }
105
+ exports.CreateTasksByModel = CreateTasksByModel;
106
+
107
+ //# sourceMappingURL=CreateTasksByModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_TaskCache","require","BATCH_SIZE","WAITING_TIME","CreateTasksByModel","constructor","taskDefinition","listEntriesGateway","taskCache","TaskCache","execute","params","response","input","isAborted","isCloseToTimeout","context","store","listEntriesParams","where","search","after","limit","currentBatch","aborted","triggerTask","getTask","continue","entries","meta","modelId","totalCount","done","length","processing","seconds","ids","map","entry","id","cacheTask","identity","data","hasMoreItems","cursor","ex","Error","message","exports"],"sources":["CreateTasksByModel.ts"],"sourcesContent":["import { ITaskResponseResult } from \"@webiny/tasks\";\nimport { TaskCache } from \"./TaskCache\";\nimport { CmsEntryListParams } from \"@webiny/api-headless-cms/types\";\nimport { IListEntries } from \"~/abstractions\";\nimport { IBulkActionOperationByModelTaskParams } from \"~/types\";\n\nconst BATCH_SIZE = 50; // Number of entries to fetch in each batch\nconst WAITING_TIME = 5; // Time to wait in seconds before retrying\n\n/**\n * The `CreateTasksByModel` class handles the execution of a task to process entries in batches.\n */\nexport class CreateTasksByModel {\n private readonly taskCache: TaskCache;\n private listEntriesGateway: IListEntries;\n\n constructor(taskDefinition: string, listEntriesGateway: IListEntries) {\n this.taskCache = new TaskCache(taskDefinition);\n this.listEntriesGateway = listEntriesGateway;\n }\n\n async execute(params: IBulkActionOperationByModelTaskParams): Promise<ITaskResponseResult> {\n const { response, input, isAborted, isCloseToTimeout, context, store } = params;\n\n try {\n const listEntriesParams: CmsEntryListParams = {\n where: input.where,\n search: input.search,\n after: input.after,\n limit: BATCH_SIZE\n };\n\n let currentBatch = input.currentBatch || 1;\n\n while (true) {\n if (isAborted()) {\n return response.aborted();\n } else if (isCloseToTimeout()) {\n await this.taskCache.triggerTask(context, store.getTask());\n return response.continue({\n ...input,\n ...listEntriesParams,\n currentBatch\n });\n }\n\n // List entries from the HCMS based on the provided query\n const { entries, meta } = await this.listEntriesGateway.execute(\n input.modelId,\n listEntriesParams\n );\n\n // End the task if no entries match the query\n if (meta.totalCount === 0) {\n return response.done(\n `Task done: no entries found for model \"${input.modelId}\", skipping task creation.`\n );\n }\n\n // Continue processing if no entries are returned in the current batch\n if (entries.length === 0) {\n await this.taskCache.triggerTask(context, store.getTask());\n return response.continue(\n {\n ...input,\n ...listEntriesParams,\n currentBatch,\n totalCount: meta.totalCount,\n processing: true\n },\n { seconds: WAITING_TIME }\n );\n }\n\n const ids = entries.map(entry => entry.id); // Extract entry IDs\n\n if (ids.length > 0) {\n // Cache the task with the entry IDs\n this.taskCache.cacheTask({\n modelId: input.modelId,\n identity: input.identity,\n data: input.data,\n ids\n });\n }\n\n // Continue processing if there are no more entries or pagination is complete\n if (!meta.hasMoreItems || !meta.cursor) {\n await this.taskCache.triggerTask(context, store.getTask());\n return response.continue(\n {\n ...input,\n ...listEntriesParams,\n currentBatch,\n totalCount: meta.totalCount,\n processing: true\n },\n { seconds: WAITING_TIME }\n );\n }\n\n listEntriesParams.after = meta.cursor;\n currentBatch++;\n }\n } catch (ex) {\n throw new Error(ex.message ?? `Error while creating task.`);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ import { HcmsBulkActionsContext } from "../../../types";
2
+ import { ITask, ITaskDataInput } from "@webiny/tasks";
3
+ /**
4
+ * TaskCache class for managing and triggering cached tasks.
5
+ * @template TTask - Task input data.
6
+ */
7
+ export declare class TaskCache<TTask = ITaskDataInput> {
8
+ private readonly taskDefinition;
9
+ private taskCache;
10
+ constructor(taskDefinition: string);
11
+ /**
12
+ * Adds a task to the cache.
13
+ * @param {TTask} item - The task input data to be cached.
14
+ */
15
+ cacheTask(item: TTask): void;
16
+ /**
17
+ * Triggers all cached tasks using the provided context and parent task.
18
+ * @param {HcmsBulkActionsContext} context - The context used to trigger the tasks.
19
+ * @param {ITask} parent - The parent task to associate with the triggered tasks.
20
+ */
21
+ triggerTask(context: HcmsBulkActionsContext, parent: ITask): Promise<void>;
22
+ /**
23
+ * Retrieves the cached tasks.
24
+ * @returns {TTask[]} The list of cached tasks.
25
+ */
26
+ private getTasks;
27
+ /**
28
+ * Clears all cached tasks.
29
+ */
30
+ private clearTasks;
31
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TaskCache = void 0;
7
+ /**
8
+ * TaskCache class for managing and triggering cached tasks.
9
+ * @template TTask - Task input data.
10
+ */
11
+ class TaskCache {
12
+ taskCache = [];
13
+ constructor(taskDefinition) {
14
+ this.taskDefinition = taskDefinition;
15
+ }
16
+
17
+ /**
18
+ * Adds a task to the cache.
19
+ * @param {TTask} item - The task input data to be cached.
20
+ */
21
+ cacheTask(item) {
22
+ this.taskCache.push(item);
23
+ }
24
+
25
+ /**
26
+ * Triggers all cached tasks using the provided context and parent task.
27
+ * @param {HcmsBulkActionsContext} context - The context used to trigger the tasks.
28
+ * @param {ITask} parent - The parent task to associate with the triggered tasks.
29
+ */
30
+ async triggerTask(context, parent) {
31
+ const tasks = this.getTasks();
32
+ if (tasks.length === 0) {
33
+ return;
34
+ }
35
+ for (const task of tasks) {
36
+ try {
37
+ await context.tasks.trigger({
38
+ definition: this.taskDefinition,
39
+ parent,
40
+ input: task
41
+ });
42
+ } catch (error) {
43
+ console.error(`Error triggering task.`, error);
44
+ }
45
+ }
46
+
47
+ // Clear the cache after processing
48
+ this.clearTasks();
49
+ }
50
+
51
+ /**
52
+ * Retrieves the cached tasks.
53
+ * @returns {TTask[]} The list of cached tasks.
54
+ */
55
+ getTasks() {
56
+ return this.taskCache;
57
+ }
58
+
59
+ /**
60
+ * Clears all cached tasks.
61
+ */
62
+ clearTasks() {
63
+ this.taskCache = [];
64
+ }
65
+ }
66
+ exports.TaskCache = TaskCache;
67
+
68
+ //# sourceMappingURL=TaskCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TaskCache","taskCache","constructor","taskDefinition","cacheTask","item","push","triggerTask","context","parent","tasks","getTasks","length","task","trigger","definition","input","error","console","clearTasks","exports"],"sources":["TaskCache.ts"],"sourcesContent":["import { HcmsBulkActionsContext } from \"~/types\";\nimport { ITask, ITaskDataInput } from \"@webiny/tasks\";\n\n/**\n * TaskCache class for managing and triggering cached tasks.\n * @template TTask - Task input data.\n */\nexport class TaskCache<TTask = ITaskDataInput> {\n private readonly taskDefinition: string;\n private taskCache: TTask[] = [];\n\n constructor(taskDefinition: string) {\n this.taskDefinition = taskDefinition;\n }\n\n /**\n * Adds a task to the cache.\n * @param {TTask} item - The task input data to be cached.\n */\n cacheTask(item: TTask) {\n this.taskCache.push(item);\n }\n\n /**\n * Triggers all cached tasks using the provided context and parent task.\n * @param {HcmsBulkActionsContext} context - The context used to trigger the tasks.\n * @param {ITask} parent - The parent task to associate with the triggered tasks.\n */\n async triggerTask(context: HcmsBulkActionsContext, parent: ITask) {\n const tasks = this.getTasks();\n\n if (tasks.length === 0) {\n return;\n }\n\n for (const task of tasks) {\n try {\n await context.tasks.trigger<TTask>({\n definition: this.taskDefinition,\n parent,\n input: task\n });\n } catch (error) {\n console.error(`Error triggering task.`, error);\n }\n }\n\n // Clear the cache after processing\n this.clearTasks();\n }\n\n /**\n * Retrieves the cached tasks.\n * @returns {TTask[]} The list of cached tasks.\n */\n private getTasks() {\n return this.taskCache;\n }\n\n /**\n * Clears all cached tasks.\n */\n private clearTasks() {\n this.taskCache = [];\n }\n}\n"],"mappings":";;;;;;AAGA;AACA;AACA;AACA;AACO,MAAMA,SAAS,CAAyB;EAEnCC,SAAS,GAAY,EAAE;EAE/BC,WAAWA,CAACC,cAAsB,EAAE;IAChC,IAAI,CAACA,cAAc,GAAGA,cAAc;EACxC;;EAEA;AACJ;AACA;AACA;EACIC,SAASA,CAACC,IAAW,EAAE;IACnB,IAAI,CAACJ,SAAS,CAACK,IAAI,CAACD,IAAI,CAAC;EAC7B;;EAEA;AACJ;AACA;AACA;AACA;EACI,MAAME,WAAWA,CAACC,OAA+B,EAAEC,MAAa,EAAE;IAC9D,MAAMC,KAAK,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC;IAE7B,IAAID,KAAK,CAACE,MAAM,KAAK,CAAC,EAAE;MACpB;IACJ;IAEA,KAAK,MAAMC,IAAI,IAAIH,KAAK,EAAE;MACtB,IAAI;QACA,MAAMF,OAAO,CAACE,KAAK,CAACI,OAAO,CAAQ;UAC/BC,UAAU,EAAE,IAAI,CAACZ,cAAc;UAC/BM,MAAM;UACNO,KAAK,EAAEH;QACX,CAAC,CAAC;MACN,CAAC,CAAC,OAAOI,KAAK,EAAE;QACZC,OAAO,CAACD,KAAK,CAAE,wBAAuB,EAAEA,KAAK,CAAC;MAClD;IACJ;;IAEA;IACA,IAAI,CAACE,UAAU,CAAC,CAAC;EACrB;;EAEA;AACJ;AACA;AACA;EACYR,QAAQA,CAAA,EAAG;IACf,OAAO,IAAI,CAACV,SAAS;EACzB;;EAEA;AACJ;AACA;EACYkB,UAAUA,CAAA,EAAG;IACjB,IAAI,CAAClB,SAAS,GAAG,EAAE;EACvB;AACJ;AAACmB,OAAA,CAAApB,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export * from "./CreateTasksByModel";