@webiny/api-headless-cms-bulk-actions 5.41.0-beta.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 (120) 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 +6 -0
  25. package/index.js +73 -0
  26. package/index.js.map +1 -0
  27. package/package.json +52 -0
  28. package/plugins/createBulkAction.d.ts +10 -0
  29. package/plugins/createBulkAction.js +36 -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 +9 -0
  35. package/plugins/createBulkActionTasks.js +135 -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 +85 -0
  48. package/tasks/createEmptyTrashBinsTask.js.map +1 -0
  49. package/tasks/index.d.ts +2 -0
  50. package/tasks/index.js +29 -0
  51. package/tasks/index.js.map +1 -0
  52. package/types.d.ts +45 -0
  53. package/types.js +21 -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/ListNotPublishedEntries.d.ts +13 -0
  65. package/useCases/ListNotPublishedEntries.js +34 -0
  66. package/useCases/ListNotPublishedEntries.js.map +1 -0
  67. package/useCases/ListPublishedEntries.d.ts +13 -0
  68. package/useCases/ListPublishedEntries.js +28 -0
  69. package/useCases/ListPublishedEntries.js.map +1 -0
  70. package/useCases/MoveEntryToFolder.d.ts +13 -0
  71. package/useCases/MoveEntryToFolder.js +23 -0
  72. package/useCases/MoveEntryToFolder.js.map +1 -0
  73. package/useCases/MoveEntryToTrash.d.ts +10 -0
  74. package/useCases/MoveEntryToTrash.js +26 -0
  75. package/useCases/MoveEntryToTrash.js.map +1 -0
  76. package/useCases/PublishEntry.d.ts +10 -0
  77. package/useCases/PublishEntry.js +20 -0
  78. package/useCases/PublishEntry.js.map +1 -0
  79. package/useCases/RestoreEntryFromTrash.d.ts +10 -0
  80. package/useCases/RestoreEntryFromTrash.js +24 -0
  81. package/useCases/RestoreEntryFromTrash.js.map +1 -0
  82. package/useCases/UnpublishEntry.d.ts +10 -0
  83. package/useCases/UnpublishEntry.js +20 -0
  84. package/useCases/UnpublishEntry.js.map +1 -0
  85. package/useCases/index.d.ts +10 -0
  86. package/useCases/index.js +117 -0
  87. package/useCases/index.js.map +1 -0
  88. package/useCases/internals/ChildTaskCleanup/ChildTasksCleanup.d.ts +17 -0
  89. package/useCases/internals/ChildTaskCleanup/ChildTasksCleanup.js +77 -0
  90. package/useCases/internals/ChildTaskCleanup/ChildTasksCleanup.js.map +1 -0
  91. package/useCases/internals/ChildTaskCleanup/index.d.ts +1 -0
  92. package/useCases/internals/ChildTaskCleanup/index.js +18 -0
  93. package/useCases/internals/ChildTaskCleanup/index.js.map +1 -0
  94. package/useCases/internals/CreateTasksByModel/CreateTasksByModel.d.ts +13 -0
  95. package/useCases/internals/CreateTasksByModel/CreateTasksByModel.js +111 -0
  96. package/useCases/internals/CreateTasksByModel/CreateTasksByModel.js.map +1 -0
  97. package/useCases/internals/CreateTasksByModel/TaskCache.d.ts +36 -0
  98. package/useCases/internals/CreateTasksByModel/TaskCache.js +76 -0
  99. package/useCases/internals/CreateTasksByModel/TaskCache.js.map +1 -0
  100. package/useCases/internals/CreateTasksByModel/index.d.ts +1 -0
  101. package/useCases/internals/CreateTasksByModel/index.js +18 -0
  102. package/useCases/internals/CreateTasksByModel/index.js.map +1 -0
  103. package/useCases/internals/ProcessTask/ProcessTask.d.ts +14 -0
  104. package/useCases/internals/ProcessTask/ProcessTask.js +81 -0
  105. package/useCases/internals/ProcessTask/ProcessTask.js.map +1 -0
  106. package/useCases/internals/ProcessTask/Result.d.ts +9 -0
  107. package/useCases/internals/ProcessTask/Result.js +29 -0
  108. package/useCases/internals/ProcessTask/Result.js.map +1 -0
  109. package/useCases/internals/ProcessTask/index.d.ts +1 -0
  110. package/useCases/internals/ProcessTask/index.js +18 -0
  111. package/useCases/internals/ProcessTask/index.js.map +1 -0
  112. package/useCases/internals/ProcessTasksByModel/ProcessTasksByModel.d.ts +11 -0
  113. package/useCases/internals/ProcessTasksByModel/ProcessTasksByModel.js +67 -0
  114. package/useCases/internals/ProcessTasksByModel/ProcessTasksByModel.js.map +1 -0
  115. package/useCases/internals/ProcessTasksByModel/index.d.ts +1 -0
  116. package/useCases/internals/ProcessTasksByModel/index.js +18 -0
  117. package/useCases/internals/ProcessTasksByModel/index.js.map +1 -0
  118. package/useCases/internals/index.d.ts +4 -0
  119. package/useCases/internals/index.js +51 -0
  120. package/useCases/internals/index.js.map +1 -0
@@ -0,0 +1,13 @@
1
+ import { CmsEntryListParams } from "@webiny/api-headless-cms/types";
2
+ import { IListEntries } from "../abstractions";
3
+ import { HcmsBulkActionsContext } from "../types";
4
+ declare class ListLatestEntries implements IListEntries {
5
+ private readonly context;
6
+ constructor(context: HcmsBulkActionsContext);
7
+ execute(modelId: string, params: CmsEntryListParams): Promise<{
8
+ entries: import("@webiny/api-headless-cms/types").CmsEntry<import("@webiny/api-headless-cms/types").CmsEntryValues>[];
9
+ meta: import("@webiny/api-headless-cms/types").CmsEntryMeta;
10
+ }>;
11
+ }
12
+ export declare const createListLatestEntries: (context: HcmsBulkActionsContext) => ListLatestEntries;
13
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createListLatestEntries = void 0;
7
+ class ListLatestEntries {
8
+ constructor(context) {
9
+ this.context = context;
10
+ }
11
+ async execute(modelId, params) {
12
+ const model = await this.context.cms.getModel(modelId);
13
+ if (!model) {
14
+ throw new Error(`Model with ${modelId} not found!`);
15
+ }
16
+ const [entries, meta] = await this.context.cms.listLatestEntries(model, params);
17
+ return {
18
+ entries,
19
+ meta
20
+ };
21
+ }
22
+ }
23
+ const createListLatestEntries = context => {
24
+ return new ListLatestEntries(context);
25
+ };
26
+ exports.createListLatestEntries = createListLatestEntries;
27
+
28
+ //# sourceMappingURL=ListLatestEntries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ListLatestEntries","constructor","context","execute","modelId","params","model","cms","getModel","Error","entries","meta","listLatestEntries","createListLatestEntries","exports"],"sources":["ListLatestEntries.ts"],"sourcesContent":["import { CmsEntryListParams } from \"@webiny/api-headless-cms/types\";\nimport { IListEntries } from \"~/abstractions\";\nimport { HcmsBulkActionsContext } from \"~/types\";\n\nclass ListLatestEntries implements IListEntries {\n private readonly context: HcmsBulkActionsContext;\n\n constructor(context: HcmsBulkActionsContext) {\n this.context = context;\n }\n\n async execute(modelId: string, params: CmsEntryListParams) {\n const model = await this.context.cms.getModel(modelId);\n\n if (!model) {\n throw new Error(`Model with ${modelId} not found!`);\n }\n\n const [entries, meta] = await this.context.cms.listLatestEntries(model, params);\n\n return {\n entries,\n meta\n };\n }\n}\n\nexport const createListLatestEntries = (context: HcmsBulkActionsContext) => {\n return new ListLatestEntries(context);\n};\n"],"mappings":";;;;;;AAIA,MAAMA,iBAAiB,CAAyB;EAG5CC,WAAWA,CAACC,OAA+B,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,OAAe,EAAEC,MAA0B,EAAE;IACvD,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACJ,OAAO,CAACK,GAAG,CAACC,QAAQ,CAACJ,OAAO,CAAC;IAEtD,IAAI,CAACE,KAAK,EAAE;MACR,MAAM,IAAIG,KAAK,CAAE,cAAaL,OAAQ,aAAY,CAAC;IACvD;IAEA,MAAM,CAACM,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAM,IAAI,CAACT,OAAO,CAACK,GAAG,CAACK,iBAAiB,CAACN,KAAK,EAAED,MAAM,CAAC;IAE/E,OAAO;MACHK,OAAO;MACPC;IACJ,CAAC;EACL;AACJ;AAEO,MAAME,uBAAuB,GAAIX,OAA+B,IAAK;EACxE,OAAO,IAAIF,iBAAiB,CAACE,OAAO,CAAC;AACzC,CAAC;AAACY,OAAA,CAAAD,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { CmsEntryListParams } from "@webiny/api-headless-cms/types";
2
+ import { IListEntries } from "../abstractions";
3
+ import { HcmsBulkActionsContext } from "../types";
4
+ declare class ListNotPublishedEntries implements IListEntries {
5
+ private readonly context;
6
+ constructor(context: HcmsBulkActionsContext);
7
+ execute(modelId: string, params: CmsEntryListParams): Promise<{
8
+ entries: import("@webiny/api-headless-cms/types").CmsEntry<import("@webiny/api-headless-cms/types").CmsEntryValues>[];
9
+ meta: import("@webiny/api-headless-cms/types").CmsEntryMeta;
10
+ }>;
11
+ }
12
+ export declare const createListNotPublishedEntries: (context: HcmsBulkActionsContext) => ListNotPublishedEntries;
13
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createListNotPublishedEntries = void 0;
7
+ class ListNotPublishedEntries {
8
+ constructor(context) {
9
+ this.context = context;
10
+ }
11
+ async execute(modelId, params) {
12
+ const model = await this.context.cms.getModel(modelId);
13
+ if (!model) {
14
+ throw new Error(`Model with ${modelId} not found!`);
15
+ }
16
+ const [entries, meta] = await this.context.cms.listLatestEntries(model, {
17
+ ...params,
18
+ where: {
19
+ ...params.where,
20
+ status_not: "published"
21
+ }
22
+ });
23
+ return {
24
+ entries,
25
+ meta
26
+ };
27
+ }
28
+ }
29
+ const createListNotPublishedEntries = context => {
30
+ return new ListNotPublishedEntries(context);
31
+ };
32
+ exports.createListNotPublishedEntries = createListNotPublishedEntries;
33
+
34
+ //# sourceMappingURL=ListNotPublishedEntries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ListNotPublishedEntries","constructor","context","execute","modelId","params","model","cms","getModel","Error","entries","meta","listLatestEntries","where","status_not","createListNotPublishedEntries","exports"],"sources":["ListNotPublishedEntries.ts"],"sourcesContent":["import { CmsEntryListParams } from \"@webiny/api-headless-cms/types\";\nimport { IListEntries } from \"~/abstractions\";\nimport { HcmsBulkActionsContext } from \"~/types\";\n\nclass ListNotPublishedEntries implements IListEntries {\n private readonly context: HcmsBulkActionsContext;\n\n constructor(context: HcmsBulkActionsContext) {\n this.context = context;\n }\n\n async execute(modelId: string, params: CmsEntryListParams) {\n const model = await this.context.cms.getModel(modelId);\n\n if (!model) {\n throw new Error(`Model with ${modelId} not found!`);\n }\n\n const [entries, meta] = await this.context.cms.listLatestEntries(model, {\n ...params,\n where: {\n ...params.where,\n status_not: \"published\"\n }\n });\n\n return {\n entries,\n meta\n };\n }\n}\n\nexport const createListNotPublishedEntries = (context: HcmsBulkActionsContext) => {\n return new ListNotPublishedEntries(context);\n};\n"],"mappings":";;;;;;AAIA,MAAMA,uBAAuB,CAAyB;EAGlDC,WAAWA,CAACC,OAA+B,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,OAAe,EAAEC,MAA0B,EAAE;IACvD,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACJ,OAAO,CAACK,GAAG,CAACC,QAAQ,CAACJ,OAAO,CAAC;IAEtD,IAAI,CAACE,KAAK,EAAE;MACR,MAAM,IAAIG,KAAK,CAAE,cAAaL,OAAQ,aAAY,CAAC;IACvD;IAEA,MAAM,CAACM,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAM,IAAI,CAACT,OAAO,CAACK,GAAG,CAACK,iBAAiB,CAACN,KAAK,EAAE;MACpE,GAAGD,MAAM;MACTQ,KAAK,EAAE;QACH,GAAGR,MAAM,CAACQ,KAAK;QACfC,UAAU,EAAE;MAChB;IACJ,CAAC,CAAC;IAEF,OAAO;MACHJ,OAAO;MACPC;IACJ,CAAC;EACL;AACJ;AAEO,MAAMI,6BAA6B,GAAIb,OAA+B,IAAK;EAC9E,OAAO,IAAIF,uBAAuB,CAACE,OAAO,CAAC;AAC/C,CAAC;AAACc,OAAA,CAAAD,6BAAA,GAAAA,6BAAA","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { CmsEntryListParams } from "@webiny/api-headless-cms/types";
2
+ import { IListEntries } from "../abstractions";
3
+ import { HcmsBulkActionsContext } from "../types";
4
+ declare class ListPublishedEntries implements IListEntries {
5
+ private readonly context;
6
+ constructor(context: HcmsBulkActionsContext);
7
+ execute(modelId: string, params: CmsEntryListParams): Promise<{
8
+ entries: import("@webiny/api-headless-cms/types").CmsEntry<import("@webiny/api-headless-cms/types").CmsEntryValues>[];
9
+ meta: import("@webiny/api-headless-cms/types").CmsEntryMeta;
10
+ }>;
11
+ }
12
+ export declare const createListPublishedEntries: (context: HcmsBulkActionsContext) => ListPublishedEntries;
13
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createListPublishedEntries = void 0;
7
+ class ListPublishedEntries {
8
+ constructor(context) {
9
+ this.context = context;
10
+ }
11
+ async execute(modelId, params) {
12
+ const model = await this.context.cms.getModel(modelId);
13
+ if (!model) {
14
+ throw new Error(`Model with ${modelId} not found!`);
15
+ }
16
+ const [entries, meta] = await this.context.cms.listPublishedEntries(model, params);
17
+ return {
18
+ entries,
19
+ meta
20
+ };
21
+ }
22
+ }
23
+ const createListPublishedEntries = context => {
24
+ return new ListPublishedEntries(context);
25
+ };
26
+ exports.createListPublishedEntries = createListPublishedEntries;
27
+
28
+ //# sourceMappingURL=ListPublishedEntries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ListPublishedEntries","constructor","context","execute","modelId","params","model","cms","getModel","Error","entries","meta","listPublishedEntries","createListPublishedEntries","exports"],"sources":["ListPublishedEntries.ts"],"sourcesContent":["import { CmsEntryListParams } from \"@webiny/api-headless-cms/types\";\nimport { IListEntries } from \"~/abstractions\";\nimport { HcmsBulkActionsContext } from \"~/types\";\n\nclass ListPublishedEntries implements IListEntries {\n private readonly context: HcmsBulkActionsContext;\n\n constructor(context: HcmsBulkActionsContext) {\n this.context = context;\n }\n\n async execute(modelId: string, params: CmsEntryListParams) {\n const model = await this.context.cms.getModel(modelId);\n\n if (!model) {\n throw new Error(`Model with ${modelId} not found!`);\n }\n\n const [entries, meta] = await this.context.cms.listPublishedEntries(model, params);\n\n return {\n entries,\n meta\n };\n }\n}\n\nexport const createListPublishedEntries = (context: HcmsBulkActionsContext) => {\n return new ListPublishedEntries(context);\n};\n"],"mappings":";;;;;;AAIA,MAAMA,oBAAoB,CAAyB;EAG/CC,WAAWA,CAACC,OAA+B,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,OAAe,EAAEC,MAA0B,EAAE;IACvD,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACJ,OAAO,CAACK,GAAG,CAACC,QAAQ,CAACJ,OAAO,CAAC;IAEtD,IAAI,CAACE,KAAK,EAAE;MACR,MAAM,IAAIG,KAAK,CAAE,cAAaL,OAAQ,aAAY,CAAC;IACvD;IAEA,MAAM,CAACM,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAM,IAAI,CAACT,OAAO,CAACK,GAAG,CAACK,oBAAoB,CAACN,KAAK,EAAED,MAAM,CAAC;IAElF,OAAO;MACHK,OAAO;MACPC;IACJ,CAAC;EACL;AACJ;AAEO,MAAME,0BAA0B,GAAIX,OAA+B,IAAK;EAC3E,OAAO,IAAIF,oBAAoB,CAACE,OAAO,CAAC;AAC5C,CAAC;AAACY,OAAA,CAAAD,0BAAA,GAAAA,0BAAA","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { CmsModel } from "@webiny/api-headless-cms/types";
2
+ import { IProcessEntry } from "../abstractions";
3
+ import { HcmsBulkActionsContext } from "../types";
4
+ interface MoveEntryToFolderData {
5
+ folderId?: string;
6
+ }
7
+ declare class MoveEntryToFolder implements IProcessEntry {
8
+ private readonly context;
9
+ constructor(context: HcmsBulkActionsContext);
10
+ execute(model: CmsModel, id: string, data?: MoveEntryToFolderData): Promise<void>;
11
+ }
12
+ export declare const createMoveEntryToFolder: (context: HcmsBulkActionsContext) => MoveEntryToFolder;
13
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createMoveEntryToFolder = void 0;
7
+ class MoveEntryToFolder {
8
+ constructor(context) {
9
+ this.context = context;
10
+ }
11
+ async execute(model, id, data) {
12
+ if (!data?.folderId) {
13
+ throw new Error(`Missing "data.folderId" in the input.`);
14
+ }
15
+ await this.context.cms.moveEntry(model, id, data.folderId);
16
+ }
17
+ }
18
+ const createMoveEntryToFolder = context => {
19
+ return new MoveEntryToFolder(context);
20
+ };
21
+ exports.createMoveEntryToFolder = createMoveEntryToFolder;
22
+
23
+ //# sourceMappingURL=MoveEntryToFolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MoveEntryToFolder","constructor","context","execute","model","id","data","folderId","Error","cms","moveEntry","createMoveEntryToFolder","exports"],"sources":["MoveEntryToFolder.ts"],"sourcesContent":["import { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { IProcessEntry } from \"~/abstractions\";\nimport { HcmsBulkActionsContext } from \"~/types\";\n\ninterface MoveEntryToFolderData {\n folderId?: string;\n}\n\nclass MoveEntryToFolder 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, data?: MoveEntryToFolderData): Promise<void> {\n if (!data?.folderId) {\n throw new Error(`Missing \"data.folderId\" in the input.`);\n }\n await this.context.cms.moveEntry(model, id, data.folderId);\n }\n}\n\nexport const createMoveEntryToFolder = (context: HcmsBulkActionsContext) => {\n return new MoveEntryToFolder(context);\n};\n"],"mappings":";;;;;;AAQA,MAAMA,iBAAiB,CAA0B;EAG7CC,WAAWA,CAACC,OAA+B,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAEC,IAA4B,EAAiB;IACpF,IAAI,CAACA,IAAI,EAAEC,QAAQ,EAAE;MACjB,MAAM,IAAIC,KAAK,CAAE,uCAAsC,CAAC;IAC5D;IACA,MAAM,IAAI,CAACN,OAAO,CAACO,GAAG,CAACC,SAAS,CAACN,KAAK,EAAEC,EAAE,EAAEC,IAAI,CAACC,QAAQ,CAAC;EAC9D;AACJ;AAEO,MAAMI,uBAAuB,GAAIT,OAA+B,IAAK;EACxE,OAAO,IAAIF,iBAAiB,CAACE,OAAO,CAAC;AACzC,CAAC;AAACU,OAAA,CAAAD,uBAAA,GAAAA,uBAAA","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 MoveEntryToTrash implements IProcessEntry {
5
+ private readonly context;
6
+ constructor(context: HcmsBulkActionsContext);
7
+ execute(model: CmsModel, id: string): Promise<void>;
8
+ }
9
+ export declare const createMoveEntryToTrash: (context: HcmsBulkActionsContext) => MoveEntryToTrash;
10
+ export {};
@@ -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,10 @@
1
+ export * from "./DeleteEntry";
2
+ export * from "./ListDeletedEntries";
3
+ export * from "./ListNotPublishedEntries";
4
+ export * from "./ListLatestEntries";
5
+ export * from "./ListPublishedEntries";
6
+ export * from "./MoveEntryToFolder";
7
+ export * from "./MoveEntryToTrash";
8
+ export * from "./PublishEntry";
9
+ export * from "./RestoreEntryFromTrash";
10
+ export * from "./UnpublishEntry";
@@ -0,0 +1,117 @@
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 _ListNotPublishedEntries = require("./ListNotPublishedEntries");
29
+ Object.keys(_ListNotPublishedEntries).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _ListNotPublishedEntries[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _ListNotPublishedEntries[key];
36
+ }
37
+ });
38
+ });
39
+ var _ListLatestEntries = require("./ListLatestEntries");
40
+ Object.keys(_ListLatestEntries).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _ListLatestEntries[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _ListLatestEntries[key];
47
+ }
48
+ });
49
+ });
50
+ var _ListPublishedEntries = require("./ListPublishedEntries");
51
+ Object.keys(_ListPublishedEntries).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _ListPublishedEntries[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _ListPublishedEntries[key];
58
+ }
59
+ });
60
+ });
61
+ var _MoveEntryToFolder = require("./MoveEntryToFolder");
62
+ Object.keys(_MoveEntryToFolder).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _MoveEntryToFolder[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _MoveEntryToFolder[key];
69
+ }
70
+ });
71
+ });
72
+ var _MoveEntryToTrash = require("./MoveEntryToTrash");
73
+ Object.keys(_MoveEntryToTrash).forEach(function (key) {
74
+ if (key === "default" || key === "__esModule") return;
75
+ if (key in exports && exports[key] === _MoveEntryToTrash[key]) return;
76
+ Object.defineProperty(exports, key, {
77
+ enumerable: true,
78
+ get: function () {
79
+ return _MoveEntryToTrash[key];
80
+ }
81
+ });
82
+ });
83
+ var _PublishEntry = require("./PublishEntry");
84
+ Object.keys(_PublishEntry).forEach(function (key) {
85
+ if (key === "default" || key === "__esModule") return;
86
+ if (key in exports && exports[key] === _PublishEntry[key]) return;
87
+ Object.defineProperty(exports, key, {
88
+ enumerable: true,
89
+ get: function () {
90
+ return _PublishEntry[key];
91
+ }
92
+ });
93
+ });
94
+ var _RestoreEntryFromTrash = require("./RestoreEntryFromTrash");
95
+ Object.keys(_RestoreEntryFromTrash).forEach(function (key) {
96
+ if (key === "default" || key === "__esModule") return;
97
+ if (key in exports && exports[key] === _RestoreEntryFromTrash[key]) return;
98
+ Object.defineProperty(exports, key, {
99
+ enumerable: true,
100
+ get: function () {
101
+ return _RestoreEntryFromTrash[key];
102
+ }
103
+ });
104
+ });
105
+ var _UnpublishEntry = require("./UnpublishEntry");
106
+ Object.keys(_UnpublishEntry).forEach(function (key) {
107
+ if (key === "default" || key === "__esModule") return;
108
+ if (key in exports && exports[key] === _UnpublishEntry[key]) return;
109
+ Object.defineProperty(exports, key, {
110
+ enumerable: true,
111
+ get: function () {
112
+ return _UnpublishEntry[key];
113
+ }
114
+ });
115
+ });
116
+
117
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_DeleteEntry","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ListDeletedEntries","_ListNotPublishedEntries","_ListLatestEntries","_ListPublishedEntries","_MoveEntryToFolder","_MoveEntryToTrash","_PublishEntry","_RestoreEntryFromTrash","_UnpublishEntry"],"sources":["index.ts"],"sourcesContent":["export * from \"./DeleteEntry\";\nexport * from \"./ListDeletedEntries\";\nexport * from \"./ListNotPublishedEntries\";\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,17 @@
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
+ /**
14
+ * Helper method to delete tasks by ID.
15
+ */
16
+ private deleteTasks;
17
+ }
@@ -0,0 +1,77 @@
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
+
40
+ /**
41
+ * No logs found. Proceed with deleting the child tasks.
42
+ */
43
+ if (childLogs.length === 0) {
44
+ await this.deleteTasks(context, childTaskIdList);
45
+ }
46
+ const deletedChildTaskLogIdList = [];
47
+ /**
48
+ * First, we need to remove all the logs which have no errors.
49
+ */
50
+ for (const log of childLogs) {
51
+ if (log.items.some(item => item.type === _tasks.TaskLogItemType.ERROR)) {
52
+ continue;
53
+ }
54
+ await context.tasks.deleteLog(log.id);
55
+ if (deletedChildTaskLogIdList.includes(log.task)) {
56
+ continue;
57
+ }
58
+ deletedChildTaskLogIdList.push(log.task);
59
+ }
60
+ /**
61
+ * Now we can remove the tasks.
62
+ */
63
+ await this.deleteTasks(context, deletedChildTaskLogIdList);
64
+ }
65
+
66
+ /**
67
+ * Helper method to delete tasks by ID.
68
+ */
69
+ async deleteTasks(context, taskIds) {
70
+ for (const taskId of taskIds) {
71
+ await context.tasks.deleteTask(taskId);
72
+ }
73
+ }
74
+ }
75
+ exports.ChildTasksCleanup = ChildTasksCleanup;
76
+
77
+ //# 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","deleteTasks","deletedChildTaskLogIdList","log","some","item","type","TaskLogItemType","ERROR","deleteLog","includes","push","taskIds","taskId","deleteTask","exports"],"sources":["ChildTasksCleanup.ts"],"sourcesContent":["import { ITask, Context, TaskLogItemType } from \"@webiny/tasks\";\nimport { IUseCase } from \"~/abstractions\";\nimport { HcmsBulkActionsContext } from \"~/types\";\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 /**\n * No logs found. Proceed with deleting the child tasks.\n */\n if (childLogs.length === 0) {\n await this.deleteTasks(context, childTaskIdList);\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 === TaskLogItemType.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 await this.deleteTasks(context, deletedChildTaskLogIdList);\n }\n\n /**\n * Helper method to delete tasks by ID.\n */\n private async deleteTasks(context: HcmsBulkActionsContext, taskIds: string[]): Promise<void> {\n for (const taskId of taskIds) {\n await context.tasks.deleteTask(taskId);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AASA;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;AACR;AACA;IACQ,IAAIK,SAAS,CAACJ,MAAM,KAAK,CAAC,EAAE;MACxB,MAAM,IAAI,CAACO,WAAW,CAACjB,OAAO,EAAEW,eAAe,CAAC;IACpD;IAEA,MAAMO,yBAAmC,GAAG,EAAE;IAC9C;AACR;AACA;IACQ,KAAK,MAAMC,GAAG,IAAIL,SAAS,EAAE;MACzB,IAAIK,GAAG,CAACjB,KAAK,CAACkB,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,IAAI,KAAKC,sBAAe,CAACC,KAAK,CAAC,EAAE;QAC7D;MACJ;MACA,MAAMxB,OAAO,CAACI,KAAK,CAACqB,SAAS,CAACN,GAAG,CAACX,EAAE,CAAC;MACrC,IAAIU,yBAAyB,CAACQ,QAAQ,CAACP,GAAG,CAAClB,IAAI,CAAC,EAAE;QAC9C;MACJ;MACAiB,yBAAyB,CAACS,IAAI,CAACR,GAAG,CAAClB,IAAI,CAAC;IAC5C;IACA;AACR;AACA;IACQ,MAAM,IAAI,CAACgB,WAAW,CAACjB,OAAO,EAAEkB,yBAAyB,CAAC;EAC9D;;EAEA;AACJ;AACA;EACI,MAAcD,WAAWA,CAACjB,OAA+B,EAAE4B,OAAiB,EAAiB;IACzF,KAAK,MAAMC,MAAM,IAAID,OAAO,EAAE;MAC1B,MAAM5B,OAAO,CAACI,KAAK,CAAC0B,UAAU,CAACD,MAAM,CAAC;IAC1C;EACJ;AACJ;AAACE,OAAA,CAAAlC,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":[]}