@webiny/api-headless-cms-bulk-actions 6.0.0-alpha.4 → 6.0.0-rc.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 (186) hide show
  1. package/README.md +10 -14
  2. package/abstractions/IUseCase.js +1 -5
  3. package/abstractions/index.d.ts +1 -3
  4. package/abstractions/index.js +1 -38
  5. package/abstractions/index.js.map +1 -1
  6. package/domain/BulkActionName.d.ts +3 -0
  7. package/domain/BulkActionName.js +20 -0
  8. package/domain/BulkActionName.js.map +1 -0
  9. package/features/BulkActionContext/abstractions.d.ts +5 -0
  10. package/features/BulkActionContext/abstractions.js +6 -0
  11. package/features/BulkActionContext/abstractions.js.map +1 -0
  12. package/features/BulkActionContext/index.d.ts +1 -0
  13. package/features/BulkActionContext/index.js +3 -0
  14. package/features/BulkActionContext/index.js.map +1 -0
  15. package/features/DeleteEntriesBulkAction/DeleteEntriesBulkAction.d.ts +15 -0
  16. package/features/DeleteEntriesBulkAction/DeleteEntriesBulkAction.js +29 -0
  17. package/features/DeleteEntriesBulkAction/DeleteEntriesBulkAction.js.map +1 -0
  18. package/features/DeleteEntriesBulkAction/feature.d.ts +1 -0
  19. package/features/DeleteEntriesBulkAction/feature.js +10 -0
  20. package/features/DeleteEntriesBulkAction/feature.js.map +1 -0
  21. package/features/EntriesBulkAction/abstractions.d.ts +38 -0
  22. package/features/EntriesBulkAction/abstractions.js +5 -0
  23. package/features/EntriesBulkAction/abstractions.js.map +1 -0
  24. package/features/EntriesBulkAction/createBulkActionTasks.d.ts +2 -0
  25. package/features/EntriesBulkAction/createBulkActionTasks.js +147 -0
  26. package/features/EntriesBulkAction/createBulkActionTasks.js.map +1 -0
  27. package/{useCases/internals/ChildTaskCleanup → features/EntriesBulkAction/internals}/ChildTasksCleanup.d.ts +1 -1
  28. package/{useCases/internals/ChildTaskCleanup → features/EntriesBulkAction/internals}/ChildTasksCleanup.js +3 -10
  29. package/features/EntriesBulkAction/internals/ChildTasksCleanup.js.map +1 -0
  30. package/features/EntriesBulkAction/internals/CreateTasksByModel.d.ts +16 -0
  31. package/features/EntriesBulkAction/internals/CreateTasksByModel.js +107 -0
  32. package/features/EntriesBulkAction/internals/CreateTasksByModel.js.map +1 -0
  33. package/features/EntriesBulkAction/internals/ProcessTask.d.ts +16 -0
  34. package/features/EntriesBulkAction/internals/ProcessTask.js +76 -0
  35. package/features/EntriesBulkAction/internals/ProcessTask.js.map +1 -0
  36. package/{useCases/internals/ProcessTask/Result.d.ts → features/EntriesBulkAction/internals/ProcessTaskResult.d.ts} +1 -1
  37. package/{useCases/internals/ProcessTask/Result.js → features/EntriesBulkAction/internals/ProcessTaskResult.js} +2 -9
  38. package/features/EntriesBulkAction/internals/ProcessTaskResult.js.map +1 -0
  39. package/features/EntriesBulkAction/internals/ProcessTasksByModel.d.ts +13 -0
  40. package/features/EntriesBulkAction/internals/ProcessTasksByModel.js +56 -0
  41. package/features/EntriesBulkAction/internals/ProcessTasksByModel.js.map +1 -0
  42. package/{useCases/internals/CreateTasksByModel → features/EntriesBulkAction/internals}/TaskCache.d.ts +4 -4
  43. package/{useCases/internals/CreateTasksByModel → features/EntriesBulkAction/internals}/TaskCache.js +1 -8
  44. package/features/EntriesBulkAction/internals/TaskCache.js.map +1 -0
  45. package/features/MoveToFolderBulkAction/MoveToFolderBulkAction.d.ts +15 -0
  46. package/features/MoveToFolderBulkAction/MoveToFolderBulkAction.js +30 -0
  47. package/features/MoveToFolderBulkAction/MoveToFolderBulkAction.js.map +1 -0
  48. package/features/MoveToFolderBulkAction/feature.d.ts +1 -0
  49. package/features/MoveToFolderBulkAction/feature.js +10 -0
  50. package/features/MoveToFolderBulkAction/feature.js.map +1 -0
  51. package/features/MoveToTrashBulkAction/MoveToTrashBulkAction.d.ts +15 -0
  52. package/features/MoveToTrashBulkAction/MoveToTrashBulkAction.js +29 -0
  53. package/features/MoveToTrashBulkAction/MoveToTrashBulkAction.js.map +1 -0
  54. package/features/MoveToTrashBulkAction/feature.d.ts +1 -0
  55. package/features/MoveToTrashBulkAction/feature.js +10 -0
  56. package/features/MoveToTrashBulkAction/feature.js.map +1 -0
  57. package/features/PublishEntriesBulkAction/PublishEntriesBulkAction.d.ts +15 -0
  58. package/features/PublishEntriesBulkAction/PublishEntriesBulkAction.js +37 -0
  59. package/features/PublishEntriesBulkAction/PublishEntriesBulkAction.js.map +1 -0
  60. package/features/PublishEntriesBulkAction/feature.d.ts +1 -0
  61. package/features/PublishEntriesBulkAction/feature.js +10 -0
  62. package/features/PublishEntriesBulkAction/feature.js.map +1 -0
  63. package/features/RestoreEntriesBulkAction/RestoreEntriesBulkAction.d.ts +15 -0
  64. package/features/RestoreEntriesBulkAction/RestoreEntriesBulkAction.js +27 -0
  65. package/features/RestoreEntriesBulkAction/RestoreEntriesBulkAction.js.map +1 -0
  66. package/features/RestoreEntriesBulkAction/feature.d.ts +1 -0
  67. package/features/RestoreEntriesBulkAction/feature.js +10 -0
  68. package/features/RestoreEntriesBulkAction/feature.js.map +1 -0
  69. package/features/UnpublishEntriesBulkAction/UnpublishEntriesBulkAction.d.ts +15 -0
  70. package/features/UnpublishEntriesBulkAction/UnpublishEntriesBulkAction.js +27 -0
  71. package/features/UnpublishEntriesBulkAction/UnpublishEntriesBulkAction.js.map +1 -0
  72. package/features/UnpublishEntriesBulkAction/feature.d.ts +1 -0
  73. package/features/UnpublishEntriesBulkAction/feature.js +10 -0
  74. package/features/UnpublishEntriesBulkAction/feature.js.map +1 -0
  75. package/graphql/createBulkActionGraphQL.d.ts +3 -0
  76. package/graphql/createBulkActionGraphQL.js +64 -0
  77. package/graphql/createBulkActionGraphQL.js.map +1 -0
  78. package/graphql/createDefaultGraphQL.d.ts +3 -0
  79. package/{plugins → graphql}/createDefaultGraphQL.js +10 -18
  80. package/graphql/createDefaultGraphQL.js.map +1 -0
  81. package/handlers/eventBridgeEventHandler.js +3 -10
  82. package/handlers/eventBridgeEventHandler.js.map +1 -1
  83. package/handlers/index.d.ts +1 -1
  84. package/handlers/index.js +4 -11
  85. package/handlers/index.js.map +1 -1
  86. package/handlers/setupEventsTenant.js +3 -10
  87. package/handlers/setupEventsTenant.js.map +1 -1
  88. package/index.d.ts +8 -6
  89. package/index.js +46 -69
  90. package/index.js.map +1 -1
  91. package/package.json +19 -23
  92. package/tasks/EmptyTrashBinTaskDefinition.d.ts +26 -0
  93. package/tasks/EmptyTrashBinTaskDefinition.js +124 -0
  94. package/tasks/EmptyTrashBinTaskDefinition.js.map +1 -0
  95. package/tasks/createEmptyTrashBinsTask.d.ts +1 -2
  96. package/tasks/createEmptyTrashBinsTask.js +5 -114
  97. package/tasks/createEmptyTrashBinsTask.js.map +1 -1
  98. package/tasks/index.d.ts +1 -2
  99. package/tasks/index.js +1 -27
  100. package/tasks/index.js.map +1 -1
  101. package/types.d.ts +12 -12
  102. package/types.js +4 -7
  103. package/types.js.map +1 -1
  104. package/abstractions/IListEntries.d.ts +0 -7
  105. package/abstractions/IListEntries.js +0 -7
  106. package/abstractions/IListEntries.js.map +0 -1
  107. package/abstractions/IProcessEntry.d.ts +0 -4
  108. package/abstractions/IProcessEntry.js +0 -7
  109. package/abstractions/IProcessEntry.js.map +0 -1
  110. package/plugins/createBulkAction.d.ts +0 -10
  111. package/plugins/createBulkAction.js +0 -36
  112. package/plugins/createBulkAction.js.map +0 -1
  113. package/plugins/createBulkActionGraphQL.d.ts +0 -7
  114. package/plugins/createBulkActionGraphQL.js +0 -72
  115. package/plugins/createBulkActionGraphQL.js.map +0 -1
  116. package/plugins/createBulkActionTasks.d.ts +0 -9
  117. package/plugins/createBulkActionTasks.js +0 -135
  118. package/plugins/createBulkActionTasks.js.map +0 -1
  119. package/plugins/createDefaultGraphQL.d.ts +0 -3
  120. package/plugins/createDefaultGraphQL.js.map +0 -1
  121. package/plugins/index.d.ts +0 -2
  122. package/plugins/index.js +0 -29
  123. package/plugins/index.js.map +0 -1
  124. package/tasks/createBulkActionEntriesTasks.d.ts +0 -1
  125. package/tasks/createBulkActionEntriesTasks.js +0 -38
  126. package/tasks/createBulkActionEntriesTasks.js.map +0 -1
  127. package/useCases/DeleteEntry.d.ts +0 -10
  128. package/useCases/DeleteEntry.js +0 -26
  129. package/useCases/DeleteEntry.js.map +0 -1
  130. package/useCases/ListDeletedEntries.d.ts +0 -13
  131. package/useCases/ListDeletedEntries.js +0 -28
  132. package/useCases/ListDeletedEntries.js.map +0 -1
  133. package/useCases/ListLatestEntries.d.ts +0 -13
  134. package/useCases/ListLatestEntries.js +0 -28
  135. package/useCases/ListLatestEntries.js.map +0 -1
  136. package/useCases/ListNotPublishedEntries.d.ts +0 -13
  137. package/useCases/ListNotPublishedEntries.js +0 -34
  138. package/useCases/ListNotPublishedEntries.js.map +0 -1
  139. package/useCases/ListPublishedEntries.d.ts +0 -13
  140. package/useCases/ListPublishedEntries.js +0 -28
  141. package/useCases/ListPublishedEntries.js.map +0 -1
  142. package/useCases/MoveEntryToFolder.d.ts +0 -13
  143. package/useCases/MoveEntryToFolder.js +0 -23
  144. package/useCases/MoveEntryToFolder.js.map +0 -1
  145. package/useCases/MoveEntryToTrash.d.ts +0 -10
  146. package/useCases/MoveEntryToTrash.js +0 -26
  147. package/useCases/MoveEntryToTrash.js.map +0 -1
  148. package/useCases/PublishEntry.d.ts +0 -10
  149. package/useCases/PublishEntry.js +0 -20
  150. package/useCases/PublishEntry.js.map +0 -1
  151. package/useCases/RestoreEntryFromTrash.d.ts +0 -10
  152. package/useCases/RestoreEntryFromTrash.js +0 -24
  153. package/useCases/RestoreEntryFromTrash.js.map +0 -1
  154. package/useCases/UnpublishEntry.d.ts +0 -10
  155. package/useCases/UnpublishEntry.js +0 -20
  156. package/useCases/UnpublishEntry.js.map +0 -1
  157. package/useCases/index.d.ts +0 -10
  158. package/useCases/index.js +0 -117
  159. package/useCases/index.js.map +0 -1
  160. package/useCases/internals/ChildTaskCleanup/ChildTasksCleanup.js.map +0 -1
  161. package/useCases/internals/ChildTaskCleanup/index.d.ts +0 -1
  162. package/useCases/internals/ChildTaskCleanup/index.js +0 -18
  163. package/useCases/internals/ChildTaskCleanup/index.js.map +0 -1
  164. package/useCases/internals/CreateTasksByModel/CreateTasksByModel.d.ts +0 -13
  165. package/useCases/internals/CreateTasksByModel/CreateTasksByModel.js +0 -111
  166. package/useCases/internals/CreateTasksByModel/CreateTasksByModel.js.map +0 -1
  167. package/useCases/internals/CreateTasksByModel/TaskCache.js.map +0 -1
  168. package/useCases/internals/CreateTasksByModel/index.d.ts +0 -1
  169. package/useCases/internals/CreateTasksByModel/index.js +0 -18
  170. package/useCases/internals/CreateTasksByModel/index.js.map +0 -1
  171. package/useCases/internals/ProcessTask/ProcessTask.d.ts +0 -14
  172. package/useCases/internals/ProcessTask/ProcessTask.js +0 -81
  173. package/useCases/internals/ProcessTask/ProcessTask.js.map +0 -1
  174. package/useCases/internals/ProcessTask/Result.js.map +0 -1
  175. package/useCases/internals/ProcessTask/index.d.ts +0 -1
  176. package/useCases/internals/ProcessTask/index.js +0 -18
  177. package/useCases/internals/ProcessTask/index.js.map +0 -1
  178. package/useCases/internals/ProcessTasksByModel/ProcessTasksByModel.d.ts +0 -11
  179. package/useCases/internals/ProcessTasksByModel/ProcessTasksByModel.js +0 -67
  180. package/useCases/internals/ProcessTasksByModel/ProcessTasksByModel.js.map +0 -1
  181. package/useCases/internals/ProcessTasksByModel/index.d.ts +0 -1
  182. package/useCases/internals/ProcessTasksByModel/index.js +0 -18
  183. package/useCases/internals/ProcessTasksByModel/index.js.map +0 -1
  184. package/useCases/internals/index.d.ts +0 -4
  185. package/useCases/internals/index.js +0 -51
  186. package/useCases/internals/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["_createBulkActionGraphQL","require","_createBulkActionTasks","toPascalCase","str","replace","words","split","capitalizedWords","map","word","charAt","toUpperCase","slice","join","createBulkAction","config","name","createBulkActionTasks","dataLoader","dataProcessor","batchSize","createBulkActionGraphQL","modelIds","exports"],"sources":["createBulkAction.ts"],"sourcesContent":["import { createBulkActionGraphQL } from \"./createBulkActionGraphQL\";\nimport { createBulkActionTasks } from \"~/plugins/createBulkActionTasks\";\nimport type { IListEntries, IProcessEntry } from \"~/abstractions\";\nimport type { HcmsBulkActionsContext } from \"~/types\";\n\nexport interface CreateBulkActionConfig {\n name: string;\n dataLoader: (context: HcmsBulkActionsContext) => IListEntries;\n dataProcessor: (context: HcmsBulkActionsContext) => IProcessEntry;\n modelIds?: string[];\n batchSize?: number;\n}\n\nfunction toPascalCase(str: string) {\n // Step 1: Remove non-alphanumeric characters and replace them with spaces\n str = str.replace(/[^a-zA-Z0-9]+/g, \" \");\n\n // Step 2: Split the string into words\n const words = str.split(\" \");\n\n // Step 3: Capitalize the first letter of each word\n const capitalizedWords = words.map(word => word.charAt(0).toUpperCase() + word.slice(1));\n\n // Step 4: Join all the capitalized words together\n return capitalizedWords.join(\"\");\n}\n\nexport const createBulkAction = (config: CreateBulkActionConfig) => {\n const name = toPascalCase(config.name);\n\n return [\n createBulkActionTasks({\n name,\n dataLoader: config.dataLoader,\n dataProcessor: config.dataProcessor,\n batchSize: config.batchSize\n }),\n createBulkActionGraphQL({\n name,\n modelIds: config.modelIds\n })\n ];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAYA,SAASE,YAAYA,CAACC,GAAW,EAAE;EAC/B;EACAA,GAAG,GAAGA,GAAG,CAACC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;;EAExC;EACA,MAAMC,KAAK,GAAGF,GAAG,CAACG,KAAK,CAAC,GAAG,CAAC;;EAE5B;EACA,MAAMC,gBAAgB,GAAGF,KAAK,CAACG,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGF,IAAI,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;;EAExF;EACA,OAAOL,gBAAgB,CAACM,IAAI,CAAC,EAAE,CAAC;AACpC;AAEO,MAAMC,gBAAgB,GAAIC,MAA8B,IAAK;EAChE,MAAMC,IAAI,GAAGd,YAAY,CAACa,MAAM,CAACC,IAAI,CAAC;EAEtC,OAAO,CACH,IAAAC,4CAAqB,EAAC;IAClBD,IAAI;IACJE,UAAU,EAAEH,MAAM,CAACG,UAAU;IAC7BC,aAAa,EAAEJ,MAAM,CAACI,aAAa;IACnCC,SAAS,EAAEL,MAAM,CAACK;EACtB,CAAC,CAAC,EACF,IAAAC,gDAAuB,EAAC;IACpBL,IAAI;IACJM,QAAQ,EAAEP,MAAM,CAACO;EACrB,CAAC,CAAC,CACL;AACL,CAAC;AAACC,OAAA,CAAAT,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- import { ContextPlugin } from "@webiny/api";
2
- import type { HcmsBulkActionsContext } from "../types";
3
- export interface CreateBulkActionGraphQL {
4
- name: string;
5
- modelIds?: string[];
6
- }
7
- export declare const createBulkActionGraphQL: (config: CreateBulkActionGraphQL) => ContextPlugin<HcmsBulkActionsContext>;
@@ -1,72 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createBulkActionGraphQL = void 0;
7
- var _api = require("@webiny/api");
8
- var _apiHeadlessCms = require("@webiny/api-headless-cms");
9
- var _handlerGraphql = require("@webiny/handler-graphql");
10
- var _constants = require("@webiny/api-headless-cms/constants");
11
- const createBulkActionGraphQL = config => {
12
- return new _api.ContextPlugin(async ctx => {
13
- const tenant = ctx.tenancy.getCurrentTenant();
14
- const locale = ctx.i18n.getContentLocale();
15
- if (!locale || !(await (0, _apiHeadlessCms.isHeadlessCmsReady)(ctx))) {
16
- return;
17
- }
18
- const models = await ctx.security.withoutAuthorization(async () => {
19
- const allModels = await ctx.cms.listModels();
20
- return allModels.filter(model => {
21
- if (model.isPrivate) {
22
- return false;
23
- }
24
- const tags = Array.isArray(model.tags) ? model.tags : [];
25
- if (tags.includes(_constants.CMS_MODEL_SINGLETON_TAG)) {
26
- return false;
27
- }
28
- if (config.modelIds?.length) {
29
- return config.modelIds.includes(model.modelId);
30
- }
31
- return true;
32
- });
33
- });
34
- const plugins = [];
35
- models.forEach(model => {
36
- const plugin = new _apiHeadlessCms.CmsGraphQLSchemaPlugin({
37
- typeDefs: /* GraphQL */`
38
- extend enum BulkAction${model.singularApiName}Name {
39
- ${config.name}
40
- }
41
- `,
42
- resolvers: {
43
- Mutation: {
44
- [`bulkAction${model.singularApiName}`]: async (_, args, context) => {
45
- const identity = context.security.getIdentity();
46
- const response = await context.tasks.trigger({
47
- definition: `hcmsBulkList${args.action}Entries`,
48
- input: {
49
- modelId: model.modelId,
50
- where: args.where,
51
- search: args.search,
52
- data: args.data,
53
- identity
54
- }
55
- });
56
- return new _handlerGraphql.Response({
57
- id: response.id
58
- });
59
- }
60
- }
61
- },
62
- isApplicable: context => context.tenancy.getCurrentTenant().id === tenant.id && context.i18n.getContentLocale()?.code === locale.code
63
- });
64
- plugin.name = `headless-cms.graphql.schema.bulkAction.${model.modelId}.${config.name}`;
65
- plugins.push(plugin);
66
- });
67
- ctx.plugins.register([...plugins]);
68
- });
69
- };
70
- exports.createBulkActionGraphQL = createBulkActionGraphQL;
71
-
72
- //# sourceMappingURL=createBulkActionGraphQL.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_api","require","_apiHeadlessCms","_handlerGraphql","_constants","createBulkActionGraphQL","config","ContextPlugin","ctx","tenant","tenancy","getCurrentTenant","locale","i18n","getContentLocale","isHeadlessCmsReady","models","security","withoutAuthorization","allModels","cms","listModels","filter","model","isPrivate","tags","Array","isArray","includes","CMS_MODEL_SINGLETON_TAG","modelIds","length","modelId","plugins","forEach","plugin","CmsGraphQLSchemaPlugin","typeDefs","singularApiName","name","resolvers","Mutation","_","args","context","identity","getIdentity","response","tasks","trigger","definition","action","input","where","search","data","Response","id","isApplicable","code","push","register","exports"],"sources":["createBulkActionGraphQL.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport type { HcmsBulkActionsContext } from \"~/types\";\nimport { CmsGraphQLSchemaPlugin, isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport { Response } from \"@webiny/handler-graphql\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"@webiny/api-headless-cms/constants\";\n\nexport interface CreateBulkActionGraphQL {\n name: string;\n modelIds?: string[];\n}\n\nexport const createBulkActionGraphQL = (config: CreateBulkActionGraphQL) => {\n return new ContextPlugin<HcmsBulkActionsContext>(async ctx => {\n const tenant = ctx.tenancy.getCurrentTenant();\n const locale = ctx.i18n.getContentLocale();\n\n if (!locale || !(await isHeadlessCmsReady(ctx))) {\n return;\n }\n\n const models = await ctx.security.withoutAuthorization(async () => {\n const allModels = await ctx.cms.listModels();\n return allModels.filter(model => {\n if (model.isPrivate) {\n return false;\n }\n const tags = Array.isArray(model.tags) ? model.tags : [];\n if (tags.includes(CMS_MODEL_SINGLETON_TAG)) {\n return false;\n }\n if (config.modelIds?.length) {\n return config.modelIds.includes(model.modelId);\n }\n return true;\n });\n });\n\n const plugins: CmsGraphQLSchemaPlugin<HcmsBulkActionsContext>[] = [];\n\n models.forEach(model => {\n const plugin = new CmsGraphQLSchemaPlugin<HcmsBulkActionsContext>({\n typeDefs: /* GraphQL */ `\n extend enum BulkAction${model.singularApiName}Name {\n ${config.name}\n }\n `,\n resolvers: {\n Mutation: {\n [`bulkAction${model.singularApiName}`]: async (_, args, context) => {\n const identity = context.security.getIdentity();\n\n const response = await context.tasks.trigger({\n definition: `hcmsBulkList${args.action}Entries`,\n input: {\n modelId: model.modelId,\n where: args.where,\n search: args.search,\n data: args.data,\n identity\n }\n });\n\n return new Response({\n id: response.id\n });\n }\n }\n },\n isApplicable: context =>\n context.tenancy.getCurrentTenant().id === tenant.id &&\n context.i18n.getContentLocale()?.code === locale.code\n });\n\n plugin.name = `headless-cms.graphql.schema.bulkAction.${model.modelId}.${config.name}`;\n plugins.push(plugin);\n });\n\n ctx.plugins.register([...plugins]);\n });\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- import type { IListEntries, IProcessEntry } from "../abstractions";
2
- import type { HcmsBulkActionsContext, IBulkActionOperationByModelInput, IBulkActionOperationByModelOutput, IBulkActionOperationInput, IBulkActionOperationOutput } from "../types";
3
- export interface CreateBackgroundTasksConfig {
4
- name: string;
5
- dataLoader: (context: HcmsBulkActionsContext) => IListEntries;
6
- dataProcessor: (context: HcmsBulkActionsContext) => IProcessEntry;
7
- batchSize?: number;
8
- }
9
- export declare const createBulkActionTasks: (config: CreateBackgroundTasksConfig) => (import("@webiny/tasks").TaskDefinitionPlugin<HcmsBulkActionsContext, IBulkActionOperationByModelInput, IBulkActionOperationByModelOutput> | import("@webiny/tasks").TaskDefinitionPlugin<HcmsBulkActionsContext, IBulkActionOperationInput, IBulkActionOperationOutput>)[];
@@ -1,135 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createBulkActionTasks = void 0;
7
- var _tasks = require("@webiny/tasks");
8
- var _internals = require("../useCases/internals");
9
- var _types = require("../types");
10
- const BATCH_SIZE = 100; // Default number of entries to fetch in each batch
11
-
12
- class BulkActionTasks {
13
- constructor(config) {
14
- this.name = config.name;
15
- this.dataLoader = config.dataLoader;
16
- this.dataProcessor = config.dataProcessor;
17
- this.batchSize = config.batchSize || BATCH_SIZE;
18
- }
19
- createListTaskDefinition() {
20
- return (0, _tasks.createPrivateTaskDefinition)({
21
- id: this.createListTaskDefinitionName(),
22
- title: `Headless CMS: list "${this.name}" entries by model`,
23
- maxIterations: 500,
24
- disableDatabaseLogs: true,
25
- run: async params => {
26
- const {
27
- response,
28
- input,
29
- context
30
- } = params;
31
- try {
32
- if (!input.modelId) {
33
- return response.error(`Missing "modelId" in the input.`);
34
- }
35
- const action = this.getCurrentAction(input);
36
- switch (action) {
37
- case _types.BulkActionOperationByModelAction.PROCESS_SUBTASKS:
38
- {
39
- const processTasks = new _internals.ProcessTasksByModel(this.createProcessTaskDefinitionName());
40
- return await processTasks.execute(params);
41
- }
42
- case _types.BulkActionOperationByModelAction.CREATE_SUBTASKS:
43
- case _types.BulkActionOperationByModelAction.CHECK_MORE_SUBTASKS:
44
- {
45
- const createTasks = new _internals.CreateTasksByModel(this.createProcessTaskDefinitionName(), this.dataLoader(context), this.batchSize);
46
- return await createTasks.execute(params);
47
- }
48
- case _types.BulkActionOperationByModelAction.END_TASK:
49
- {
50
- return response.done(`Task done: task "${this.createProcessTaskDefinitionName()}" has been successfully processed for entries from "${input.modelId}" model.`);
51
- }
52
- default:
53
- return response.error(`Unknown action: ${action}`);
54
- }
55
- } catch (ex) {
56
- return response.error(ex.message ?? "Error while executing list task");
57
- }
58
- },
59
- onDone: async ({
60
- context,
61
- task
62
- }) => {
63
- await this.onCreateListTaskDefinitionFinish(context, task, "done");
64
- },
65
- onError: async ({
66
- context,
67
- task
68
- }) => {
69
- await this.onCreateListTaskDefinitionFinish(context, task, "error");
70
- },
71
- onAbort: async ({
72
- context,
73
- task
74
- }) => {
75
- await this.onCreateListTaskDefinitionFinish(context, task, "abort");
76
- },
77
- onMaxIterations: async ({
78
- context,
79
- task
80
- }) => {
81
- await this.onCreateListTaskDefinitionFinish(context, task, "maxIterations");
82
- }
83
- });
84
- }
85
- createProcessTaskDefinition() {
86
- return (0, _tasks.createPrivateTaskDefinition)({
87
- id: this.createProcessTaskDefinitionName(),
88
- title: `Headless CMS: process "${this.name}" entries`,
89
- maxIterations: 2,
90
- disableDatabaseLogs: true,
91
- run: async params => {
92
- const {
93
- response,
94
- context
95
- } = params;
96
- try {
97
- const processTask = new _internals.ProcessTask(this.dataProcessor(context));
98
- return await processTask.execute(params);
99
- } catch (ex) {
100
- return response.error(ex.message ?? "Error while executing process task");
101
- }
102
- }
103
- });
104
- }
105
- createListTaskDefinitionName() {
106
- return `hcmsBulkList${this.name}Entries`;
107
- }
108
- createProcessTaskDefinitionName() {
109
- return `hcmsBulkProcess${this.name}Entries`;
110
- }
111
- getCurrentAction(input) {
112
- return input.action ?? _types.BulkActionOperationByModelAction.CREATE_SUBTASKS;
113
- }
114
- async onCreateListTaskDefinitionFinish(context, task, cause) {
115
- /**
116
- * We want to clean all child tasks and logs, which have no errors.
117
- */
118
- const childTasksCleanup = new _internals.ChildTasksCleanup();
119
- try {
120
- await childTasksCleanup.execute({
121
- context,
122
- task
123
- });
124
- } catch (ex) {
125
- console.error(`Error while cleaning "${this.createListTaskDefinitionName()} child tasks - ${cause}."`, ex);
126
- }
127
- }
128
- }
129
- const createBulkActionTasks = config => {
130
- const backgroundTasks = new BulkActionTasks(config);
131
- return [backgroundTasks.createListTaskDefinition(), backgroundTasks.createProcessTaskDefinition()];
132
- };
133
- exports.createBulkActionTasks = createBulkActionTasks;
134
-
135
- //# sourceMappingURL=createBulkActionTasks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_tasks","require","_internals","_types","BATCH_SIZE","BulkActionTasks","constructor","config","name","dataLoader","dataProcessor","batchSize","createListTaskDefinition","createPrivateTaskDefinition","id","createListTaskDefinitionName","title","maxIterations","disableDatabaseLogs","run","params","response","input","context","modelId","error","action","getCurrentAction","BulkActionOperationByModelAction","PROCESS_SUBTASKS","processTasks","ProcessTasksByModel","createProcessTaskDefinitionName","execute","CREATE_SUBTASKS","CHECK_MORE_SUBTASKS","createTasks","CreateTasksByModel","END_TASK","done","ex","message","onDone","task","onCreateListTaskDefinitionFinish","onError","onAbort","onMaxIterations","createProcessTaskDefinition","processTask","ProcessTask","cause","childTasksCleanup","ChildTasksCleanup","console","createBulkActionTasks","backgroundTasks","exports"],"sources":["createBulkActionTasks.ts"],"sourcesContent":["import type { ITask } from \"@webiny/tasks\";\nimport { createPrivateTaskDefinition } from \"@webiny/tasks\";\nimport type { IListEntries, IProcessEntry } from \"~/abstractions\";\nimport {\n ChildTasksCleanup,\n CreateTasksByModel,\n ProcessTask,\n ProcessTasksByModel\n} from \"~/useCases/internals\";\nimport type {\n HcmsBulkActionsContext,\n IBulkActionOperationByModelInput,\n IBulkActionOperationByModelOutput,\n IBulkActionOperationInput,\n IBulkActionOperationOutput\n} from \"~/types\";\nimport { BulkActionOperationByModelAction } from \"~/types\";\n\nexport interface CreateBackgroundTasksConfig {\n name: string;\n dataLoader: (context: HcmsBulkActionsContext) => IListEntries;\n dataProcessor: (context: HcmsBulkActionsContext) => IProcessEntry;\n batchSize?: number;\n}\n\nconst BATCH_SIZE = 100; // Default number of entries to fetch in each batch\n\nclass BulkActionTasks {\n private readonly name: string;\n private readonly dataLoader: (context: HcmsBulkActionsContext) => IListEntries;\n private readonly dataProcessor: (context: HcmsBulkActionsContext) => IProcessEntry;\n private readonly batchSize: number;\n\n constructor(config: CreateBackgroundTasksConfig) {\n this.name = config.name;\n this.dataLoader = config.dataLoader;\n this.dataProcessor = config.dataProcessor;\n this.batchSize = config.batchSize || BATCH_SIZE;\n }\n\n public createListTaskDefinition() {\n return createPrivateTaskDefinition<\n HcmsBulkActionsContext,\n IBulkActionOperationByModelInput,\n IBulkActionOperationByModelOutput\n >({\n id: this.createListTaskDefinitionName(),\n title: `Headless CMS: list \"${this.name}\" entries by model`,\n maxIterations: 500,\n disableDatabaseLogs: true,\n run: async params => {\n const { response, input, context } = params;\n\n try {\n if (!input.modelId) {\n return response.error(`Missing \"modelId\" in the input.`);\n }\n\n const action = this.getCurrentAction(input);\n\n switch (action) {\n case BulkActionOperationByModelAction.PROCESS_SUBTASKS: {\n const processTasks = new ProcessTasksByModel(\n this.createProcessTaskDefinitionName()\n );\n return await processTasks.execute(params);\n }\n case BulkActionOperationByModelAction.CREATE_SUBTASKS:\n case BulkActionOperationByModelAction.CHECK_MORE_SUBTASKS: {\n const createTasks = new CreateTasksByModel(\n this.createProcessTaskDefinitionName(),\n this.dataLoader(context),\n this.batchSize\n );\n return await createTasks.execute(params);\n }\n case BulkActionOperationByModelAction.END_TASK: {\n return response.done(\n `Task done: task \"${this.createProcessTaskDefinitionName()}\" has been successfully processed for entries from \"${\n input.modelId\n }\" model.`\n );\n }\n default:\n return response.error(`Unknown action: ${action}`);\n }\n } catch (ex) {\n return response.error(ex.message ?? \"Error while executing list task\");\n }\n },\n onDone: async ({ context, task }) => {\n await this.onCreateListTaskDefinitionFinish(context, task, \"done\");\n },\n onError: async ({ context, task }) => {\n await this.onCreateListTaskDefinitionFinish(context, task, \"error\");\n },\n onAbort: async ({ context, task }) => {\n await this.onCreateListTaskDefinitionFinish(context, task, \"abort\");\n },\n onMaxIterations: async ({ context, task }) => {\n await this.onCreateListTaskDefinitionFinish(context, task, \"maxIterations\");\n }\n });\n }\n\n public createProcessTaskDefinition() {\n return createPrivateTaskDefinition<\n HcmsBulkActionsContext,\n IBulkActionOperationInput,\n IBulkActionOperationOutput\n >({\n id: this.createProcessTaskDefinitionName(),\n title: `Headless CMS: process \"${this.name}\" entries`,\n maxIterations: 2,\n disableDatabaseLogs: true,\n run: async params => {\n const { response, context } = params;\n\n try {\n const processTask = new ProcessTask(this.dataProcessor(context));\n return await processTask.execute(params);\n } catch (ex) {\n return response.error(ex.message ?? \"Error while executing process task\");\n }\n }\n });\n }\n\n private createListTaskDefinitionName() {\n return `hcmsBulkList${this.name}Entries`;\n }\n\n private createProcessTaskDefinitionName() {\n return `hcmsBulkProcess${this.name}Entries`;\n }\n\n private getCurrentAction(input: IBulkActionOperationByModelInput) {\n return input.action ?? BulkActionOperationByModelAction.CREATE_SUBTASKS;\n }\n\n private async onCreateListTaskDefinitionFinish(\n context: HcmsBulkActionsContext,\n task: ITask,\n cause: string\n ) {\n /**\n * We want to clean all child tasks and logs, which have no errors.\n */\n const childTasksCleanup = new ChildTasksCleanup();\n try {\n await childTasksCleanup.execute({\n context,\n task\n });\n } catch (ex) {\n console.error(\n `Error while cleaning \"${this.createListTaskDefinitionName()} child tasks - ${cause}.\"`,\n ex\n );\n }\n }\n}\n\nexport const createBulkActionTasks = (config: CreateBackgroundTasksConfig) => {\n const backgroundTasks = new BulkActionTasks(config);\n\n return [\n backgroundTasks.createListTaskDefinition(),\n backgroundTasks.createProcessTaskDefinition()\n ];\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +0,0 @@
1
- import { ContextPlugin } from "@webiny/api";
2
- import type { HcmsBulkActionsContext } from "../types";
3
- export declare const createDefaultGraphQL: () => ContextPlugin<HcmsBulkActionsContext>;
@@ -1 +0,0 @@
1
- {"version":3,"names":["_api","require","_apiHeadlessCms","_constants","createDefaultGraphQL","ContextPlugin","context","tenant","tenancy","getCurrentTenant","locale","i18n","getContentLocale","isHeadlessCmsReady","defaultPlugin","CmsGraphQLSchemaPlugin","typeDefs","name","models","security","withoutAuthorization","allModels","cms","listModels","filter","model","isPrivate","tags","Array","isArray","includes","CMS_MODEL_SINGLETON_TAG","modelPlugins","forEach","plugin","singularApiName","isApplicable","id","code","modelId","push","plugins","register","exports"],"sources":["createDefaultGraphQL.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport type { HcmsBulkActionsContext } from \"~/types\";\nimport { CmsGraphQLSchemaPlugin, isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"@webiny/api-headless-cms/constants\";\n\nexport const createDefaultGraphQL = () => {\n return new ContextPlugin<HcmsBulkActionsContext>(async context => {\n const tenant = context.tenancy.getCurrentTenant();\n const locale = context.i18n.getContentLocale();\n\n if (!locale || !(await isHeadlessCmsReady(context))) {\n return;\n }\n\n const defaultPlugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type BulkActionResponseData {\n id: String\n }\n\n type BulkActionResponse {\n data: BulkActionResponseData\n error: CmsError\n }\n `\n });\n defaultPlugin.name = `headless-cms.graphql.schema.bulkAction.default`;\n\n const models = await context.security.withoutAuthorization(async () => {\n const allModels = await context.cms.listModels();\n return allModels.filter(model => {\n if (model.isPrivate) {\n return false;\n }\n const tags = Array.isArray(model.tags) ? model.tags : [];\n if (tags.includes(CMS_MODEL_SINGLETON_TAG)) {\n return false;\n }\n return true;\n });\n });\n\n const modelPlugins: CmsGraphQLSchemaPlugin<HcmsBulkActionsContext>[] = [];\n\n models.forEach(model => {\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n enum BulkAction${model.singularApiName}Name {\n _empty\n }\n \n extend type Mutation {\n bulkAction${model.singularApiName}(\n action: BulkAction${model.singularApiName}Name!\n where: ${model.singularApiName}ListWhereInput\n search: String\n data: JSON\n ): BulkActionResponse\n }\n `,\n isApplicable: context =>\n context.tenancy.getCurrentTenant().id === tenant.id &&\n context.i18n.getContentLocale()?.code === locale.code\n });\n\n plugin.name = `headless-cms.graphql.schema.bulkAction.default.${model.modelId}`;\n modelPlugins.push(plugin);\n });\n\n context.plugins.register([defaultPlugin, ...modelPlugins]);\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEO,MAAMG,oBAAoB,GAAGA,CAAA,KAAM;EACtC,OAAO,IAAIC,kBAAa,CAAyB,MAAMC,OAAO,IAAI;IAC9D,MAAMC,MAAM,GAAGD,OAAO,CAACE,OAAO,CAACC,gBAAgB,CAAC,CAAC;IACjD,MAAMC,MAAM,GAAGJ,OAAO,CAACK,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAE9C,IAAI,CAACF,MAAM,IAAI,EAAE,MAAM,IAAAG,kCAAkB,EAACP,OAAO,CAAC,CAAC,EAAE;MACjD;IACJ;IAEA,MAAMQ,aAAa,GAAG,IAAIC,sCAAsB,CAAC;MAC7CC,QAAQ,EAAE,aAAc;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQ,CAAC,CAAC;IACFF,aAAa,CAACG,IAAI,GAAG,gDAAgD;IAErE,MAAMC,MAAM,GAAG,MAAMZ,OAAO,CAACa,QAAQ,CAACC,oBAAoB,CAAC,YAAY;MACnE,MAAMC,SAAS,GAAG,MAAMf,OAAO,CAACgB,GAAG,CAACC,UAAU,CAAC,CAAC;MAChD,OAAOF,SAAS,CAACG,MAAM,CAACC,KAAK,IAAI;QAC7B,IAAIA,KAAK,CAACC,SAAS,EAAE;UACjB,OAAO,KAAK;QAChB;QACA,MAAMC,IAAI,GAAGC,KAAK,CAACC,OAAO,CAACJ,KAAK,CAACE,IAAI,CAAC,GAAGF,KAAK,CAACE,IAAI,GAAG,EAAE;QACxD,IAAIA,IAAI,CAACG,QAAQ,CAACC,kCAAuB,CAAC,EAAE;UACxC,OAAO,KAAK;QAChB;QACA,OAAO,IAAI;MACf,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,MAAMC,YAA8D,GAAG,EAAE;IAEzEd,MAAM,CAACe,OAAO,CAACR,KAAK,IAAI;MACpB,MAAMS,MAAM,GAAG,IAAInB,sCAAsB,CAAC;QACtCC,QAAQ,EAAE,aAAc;AACxC,qCAAqCS,KAAK,CAACU,eAAe;AAC1D;AACA;AACA;AACA;AACA,oCAAoCV,KAAK,CAACU,eAAe;AACzD,gDAAgDV,KAAK,CAACU,eAAe;AACrE,qCAAqCV,KAAK,CAACU,eAAe;AAC1D;AACA;AACA;AACA;AACA,iBAAiB;QACDC,YAAY,EAAE9B,OAAO,IACjBA,OAAO,CAACE,OAAO,CAACC,gBAAgB,CAAC,CAAC,CAAC4B,EAAE,KAAK9B,MAAM,CAAC8B,EAAE,IACnD/B,OAAO,CAACK,IAAI,CAACC,gBAAgB,CAAC,CAAC,EAAE0B,IAAI,KAAK5B,MAAM,CAAC4B;MACzD,CAAC,CAAC;MAEFJ,MAAM,CAACjB,IAAI,GAAG,kDAAkDQ,KAAK,CAACc,OAAO,EAAE;MAC/EP,YAAY,CAACQ,IAAI,CAACN,MAAM,CAAC;IAC7B,CAAC,CAAC;IAEF5B,OAAO,CAACmC,OAAO,CAACC,QAAQ,CAAC,CAAC5B,aAAa,EAAE,GAAGkB,YAAY,CAAC,CAAC;EAC9D,CAAC,CAAC;AACN,CAAC;AAACW,OAAA,CAAAvC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export * from "./createBulkAction";
2
- export * from "./createDefaultGraphQL";
package/plugins/index.js DELETED
@@ -1,29 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _createBulkAction = require("./createBulkAction");
7
- Object.keys(_createBulkAction).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _createBulkAction[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _createBulkAction[key];
14
- }
15
- });
16
- });
17
- var _createDefaultGraphQL = require("./createDefaultGraphQL");
18
- Object.keys(_createDefaultGraphQL).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _createDefaultGraphQL[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _createDefaultGraphQL[key];
25
- }
26
- });
27
- });
28
-
29
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_createBulkAction","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_createDefaultGraphQL"],"sources":["index.ts"],"sourcesContent":["export * from \"./createBulkAction\";\nexport * from \"./createDefaultGraphQL\";\n"],"mappings":";;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,iBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,qBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,qBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,qBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,qBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- export declare const createBulkActionEntriesTasks: () => (import("@webiny/api").ContextPlugin<import("../types").HcmsBulkActionsContext> | (import("@webiny/tasks").TaskDefinitionPlugin<import("../types").HcmsBulkActionsContext, import("../types").IBulkActionOperationByModelInput, import("../types").IBulkActionOperationByModelOutput> | import("@webiny/tasks").TaskDefinitionPlugin<import("../types").HcmsBulkActionsContext, import("../types").IBulkActionOperationInput, import("../types").IBulkActionOperationOutput>)[])[][];
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createBulkActionEntriesTasks = void 0;
7
- var _plugins = require("../plugins");
8
- var _useCases = require("../useCases");
9
- const createBulkActionEntriesTasks = () => {
10
- return [(0, _plugins.createBulkAction)({
11
- name: "delete",
12
- dataLoader: _useCases.createListDeletedEntries,
13
- dataProcessor: _useCases.createDeleteEntry
14
- }), (0, _plugins.createBulkAction)({
15
- name: "moveToFolder",
16
- dataLoader: _useCases.createListLatestEntries,
17
- dataProcessor: _useCases.createMoveEntryToFolder
18
- }), (0, _plugins.createBulkAction)({
19
- name: "moveToTrash",
20
- dataLoader: _useCases.createListLatestEntries,
21
- dataProcessor: _useCases.createMoveEntryToTrash
22
- }), (0, _plugins.createBulkAction)({
23
- name: "publish",
24
- dataLoader: _useCases.createListNotPublishedEntries,
25
- dataProcessor: _useCases.createPublishEntry
26
- }), (0, _plugins.createBulkAction)({
27
- name: "unpublish",
28
- dataLoader: _useCases.createListPublishedEntries,
29
- dataProcessor: _useCases.createUnpublishEntry
30
- }), (0, _plugins.createBulkAction)({
31
- name: "restore",
32
- dataLoader: _useCases.createListDeletedEntries,
33
- dataProcessor: _useCases.createRestoreEntryFromTrash
34
- })];
35
- };
36
- exports.createBulkActionEntriesTasks = createBulkActionEntriesTasks;
37
-
38
- //# sourceMappingURL=createBulkActionEntriesTasks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_plugins","require","_useCases","createBulkActionEntriesTasks","createBulkAction","name","dataLoader","createListDeletedEntries","dataProcessor","createDeleteEntry","createListLatestEntries","createMoveEntryToFolder","createMoveEntryToTrash","createListNotPublishedEntries","createPublishEntry","createListPublishedEntries","createUnpublishEntry","createRestoreEntryFromTrash","exports"],"sources":["createBulkActionEntriesTasks.ts"],"sourcesContent":["import { createBulkAction } from \"~/plugins\";\nimport {\n createDeleteEntry,\n createListDeletedEntries,\n createListLatestEntries,\n createListNotPublishedEntries,\n createListPublishedEntries,\n createMoveEntryToFolder,\n createMoveEntryToTrash,\n createPublishEntry,\n createRestoreEntryFromTrash,\n createUnpublishEntry\n} from \"~/useCases\";\n\nexport const createBulkActionEntriesTasks = () => {\n return [\n createBulkAction({\n name: \"delete\",\n dataLoader: createListDeletedEntries,\n dataProcessor: createDeleteEntry\n }),\n createBulkAction({\n name: \"moveToFolder\",\n dataLoader: createListLatestEntries,\n dataProcessor: createMoveEntryToFolder\n }),\n createBulkAction({\n name: \"moveToTrash\",\n dataLoader: createListLatestEntries,\n dataProcessor: createMoveEntryToTrash\n }),\n createBulkAction({\n name: \"publish\",\n dataLoader: createListNotPublishedEntries,\n dataProcessor: createPublishEntry\n }),\n createBulkAction({\n name: \"unpublish\",\n dataLoader: createListPublishedEntries,\n dataProcessor: createUnpublishEntry\n }),\n createBulkAction({\n name: \"restore\",\n dataLoader: createListDeletedEntries,\n dataProcessor: createRestoreEntryFromTrash\n })\n ];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAaO,MAAME,4BAA4B,GAAGA,CAAA,KAAM;EAC9C,OAAO,CACH,IAAAC,yBAAgB,EAAC;IACbC,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAEC,kCAAwB;IACpCC,aAAa,EAAEC;EACnB,CAAC,CAAC,EACF,IAAAL,yBAAgB,EAAC;IACbC,IAAI,EAAE,cAAc;IACpBC,UAAU,EAAEI,iCAAuB;IACnCF,aAAa,EAAEG;EACnB,CAAC,CAAC,EACF,IAAAP,yBAAgB,EAAC;IACbC,IAAI,EAAE,aAAa;IACnBC,UAAU,EAAEI,iCAAuB;IACnCF,aAAa,EAAEI;EACnB,CAAC,CAAC,EACF,IAAAR,yBAAgB,EAAC;IACbC,IAAI,EAAE,SAAS;IACfC,UAAU,EAAEO,uCAA6B;IACzCL,aAAa,EAAEM;EACnB,CAAC,CAAC,EACF,IAAAV,yBAAgB,EAAC;IACbC,IAAI,EAAE,WAAW;IACjBC,UAAU,EAAES,oCAA0B;IACtCP,aAAa,EAAEQ;EACnB,CAAC,CAAC,EACF,IAAAZ,yBAAgB,EAAC;IACbC,IAAI,EAAE,SAAS;IACfC,UAAU,EAAEC,kCAAwB;IACpCC,aAAa,EAAES;EACnB,CAAC,CAAC,CACL;AACL,CAAC;AAACC,OAAA,CAAAf,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- import type { CmsModel } from "@webiny/api-headless-cms/types";
2
- import type { IProcessEntry } from "../abstractions";
3
- import type { HcmsBulkActionsContext } from "../types";
4
- declare class DeleteEntry implements IProcessEntry {
5
- private readonly context;
6
- constructor(context: HcmsBulkActionsContext);
7
- execute(model: CmsModel, id: string): Promise<void>;
8
- }
9
- export declare const createDeleteEntry: (context: HcmsBulkActionsContext) => DeleteEntry;
10
- export {};
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createDeleteEntry = void 0;
7
- var _utils = require("@webiny/utils");
8
- class DeleteEntry {
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: true
18
- });
19
- }
20
- }
21
- const createDeleteEntry = context => {
22
- return new DeleteEntry(context);
23
- };
24
- exports.createDeleteEntry = createDeleteEntry;
25
-
26
- //# sourceMappingURL=DeleteEntry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_utils","require","DeleteEntry","constructor","context","execute","model","id","entryId","parseIdentifier","cms","deleteEntry","permanently","createDeleteEntry","exports"],"sources":["DeleteEntry.ts"],"sourcesContent":["import { parseIdentifier } from \"@webiny/utils\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport type { IProcessEntry } from \"~/abstractions\";\nimport type { HcmsBulkActionsContext } from \"~/types\";\n\nclass DeleteEntry 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, {\n permanently: true\n });\n }\n}\n\nexport const createDeleteEntry = (context: HcmsBulkActionsContext) => {\n return new DeleteEntry(context);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAKA,MAAMC,WAAW,CAA0B;EAGvCC,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;MAC/CI,WAAW,EAAE;IACjB,CAAC,CAAC;EACN;AACJ;AAEO,MAAMC,iBAAiB,GAAIT,OAA+B,IAAK;EAClE,OAAO,IAAIF,WAAW,CAACE,OAAO,CAAC;AACnC,CAAC;AAACU,OAAA,CAAAD,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -1,13 +0,0 @@
1
- import type { CmsEntryListParams } from "@webiny/api-headless-cms/types";
2
- import type { IListEntries } from "../abstractions";
3
- import type { HcmsBulkActionsContext } from "../types";
4
- declare class ListDeletedEntries 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 createListDeletedEntries: (context: HcmsBulkActionsContext) => ListDeletedEntries;
13
- export {};
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createListDeletedEntries = void 0;
7
- class ListDeletedEntries {
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.listDeletedEntries(model, params);
17
- return {
18
- entries,
19
- meta
20
- };
21
- }
22
- }
23
- const createListDeletedEntries = context => {
24
- return new ListDeletedEntries(context);
25
- };
26
- exports.createListDeletedEntries = createListDeletedEntries;
27
-
28
- //# sourceMappingURL=ListDeletedEntries.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["ListDeletedEntries","constructor","context","execute","modelId","params","model","cms","getModel","Error","entries","meta","listDeletedEntries","createListDeletedEntries","exports"],"sources":["ListDeletedEntries.ts"],"sourcesContent":["import type { CmsEntryListParams } from \"@webiny/api-headless-cms/types\";\nimport type { IListEntries } from \"~/abstractions\";\nimport type { HcmsBulkActionsContext } from \"~/types\";\n\nclass ListDeletedEntries 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.listDeletedEntries(model, params);\n\n return {\n entries,\n meta\n };\n }\n}\n\nexport const createListDeletedEntries = (context: HcmsBulkActionsContext) => {\n return new ListDeletedEntries(context);\n};\n"],"mappings":";;;;;;AAIA,MAAMA,kBAAkB,CAAyB;EAG7CC,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,CAAC,cAAcL,OAAO,aAAa,CAAC;IACvD;IAEA,MAAM,CAACM,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAM,IAAI,CAACT,OAAO,CAACK,GAAG,CAACK,kBAAkB,CAACN,KAAK,EAAED,MAAM,CAAC;IAEhF,OAAO;MACHK,OAAO;MACPC;IACJ,CAAC;EACL;AACJ;AAEO,MAAME,wBAAwB,GAAIX,OAA+B,IAAK;EACzE,OAAO,IAAIF,kBAAkB,CAACE,OAAO,CAAC;AAC1C,CAAC;AAACY,OAAA,CAAAD,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -1,13 +0,0 @@
1
- import type { CmsEntryListParams } from "@webiny/api-headless-cms/types";
2
- import type { IListEntries } from "../abstractions";
3
- import type { 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 {};
@@ -1,28 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"names":["ListLatestEntries","constructor","context","execute","modelId","params","model","cms","getModel","Error","entries","meta","listLatestEntries","createListLatestEntries","exports"],"sources":["ListLatestEntries.ts"],"sourcesContent":["import type { CmsEntryListParams } from \"@webiny/api-headless-cms/types\";\nimport type { IListEntries } from \"~/abstractions\";\nimport type { 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,CAAC,cAAcL,OAAO,aAAa,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":[]}
@@ -1,13 +0,0 @@
1
- import type { CmsEntryListParams } from "@webiny/api-headless-cms/types";
2
- import type { IListEntries } from "../abstractions";
3
- import type { 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 {};
@@ -1,34 +0,0 @@
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
@@ -1 +0,0 @@
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 type { CmsEntryListParams } from \"@webiny/api-headless-cms/types\";\nimport type { IListEntries } from \"~/abstractions\";\nimport type { 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,CAAC,cAAcL,OAAO,aAAa,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":[]}
@@ -1,13 +0,0 @@
1
- import type { CmsEntryListParams } from "@webiny/api-headless-cms/types";
2
- import type { IListEntries } from "../abstractions";
3
- import type { 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 {};
@@ -1,28 +0,0 @@
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