@webiny/api-page-builder-import-export 0.0.0-unstable.99666aeb00 → 0.0.0-unstable.a9593f74dd

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/client.js +12 -21
  2. package/client.js.map +1 -1
  3. package/export/combine/blocksHandler.js +4 -2
  4. package/export/combine/blocksHandler.js.map +1 -1
  5. package/export/combine/formsHandler.js +4 -2
  6. package/export/combine/formsHandler.js.map +1 -1
  7. package/export/combine/index.js +3 -1
  8. package/export/combine/index.js.map +1 -1
  9. package/export/combine/pagesHandler.js +4 -2
  10. package/export/combine/pagesHandler.js.map +1 -1
  11. package/export/combine/templatesHandler.js +4 -2
  12. package/export/combine/templatesHandler.js.map +1 -1
  13. package/export/process/blocksHandler.js +13 -6
  14. package/export/process/blocksHandler.js.map +1 -1
  15. package/export/process/exporters/BlockExporter.d.ts +12 -0
  16. package/export/process/exporters/BlockExporter.js +57 -0
  17. package/export/process/exporters/BlockExporter.js.map +1 -0
  18. package/export/process/exporters/FormExporter.d.ts +9 -0
  19. package/export/process/exporters/FormExporter.js +36 -0
  20. package/export/process/exporters/FormExporter.js.map +1 -0
  21. package/export/process/exporters/PageExporter.d.ts +11 -0
  22. package/export/process/exporters/PageExporter.js +58 -0
  23. package/export/process/exporters/PageExporter.js.map +1 -0
  24. package/export/process/exporters/PageTemplateExporter.d.ts +11 -0
  25. package/export/process/exporters/PageTemplateExporter.js +56 -0
  26. package/export/process/exporters/PageTemplateExporter.js.map +1 -0
  27. package/export/process/formsHandler.js +8 -6
  28. package/export/process/formsHandler.js.map +1 -1
  29. package/export/process/index.js +3 -1
  30. package/export/process/index.js.map +1 -1
  31. package/export/process/pagesHandler.js +8 -6
  32. package/export/process/pagesHandler.js.map +1 -1
  33. package/export/process/templatesHandler.js +8 -6
  34. package/export/process/templatesHandler.js.map +1 -1
  35. package/export/s3Stream.d.ts +8 -8
  36. package/export/s3Stream.js +27 -22
  37. package/export/s3Stream.js.map +1 -1
  38. package/export/utils.d.ts +8 -13
  39. package/export/utils.js +11 -34
  40. package/export/utils.js.map +1 -1
  41. package/export/zipper.d.ts +5 -5
  42. package/export/zipper.js +18 -22
  43. package/export/zipper.js.map +1 -1
  44. package/graphql/crud/blocks.crud.js +41 -22
  45. package/graphql/crud/blocks.crud.js.map +1 -1
  46. package/graphql/crud/forms.crud.js +41 -12
  47. package/graphql/crud/forms.crud.js.map +1 -1
  48. package/graphql/crud/importExportTasks.crud.js +43 -29
  49. package/graphql/crud/importExportTasks.crud.js.map +1 -1
  50. package/graphql/crud/pages.crud.d.ts +1 -0
  51. package/graphql/crud/pages.crud.js +50 -20
  52. package/graphql/crud/pages.crud.js.map +1 -1
  53. package/graphql/crud/templates.crud.js +40 -11
  54. package/graphql/crud/templates.crud.js.map +1 -1
  55. package/graphql/crud.js +3 -1
  56. package/graphql/crud.js.map +1 -1
  57. package/graphql/graphql/blocks.gql.js +4 -2
  58. package/graphql/graphql/blocks.gql.js.map +1 -1
  59. package/graphql/graphql/forms.gql.js +3 -1
  60. package/graphql/graphql/forms.gql.js.map +1 -1
  61. package/graphql/graphql/importExportTasks.gql.js +3 -1
  62. package/graphql/graphql/importExportTasks.gql.js.map +1 -1
  63. package/graphql/graphql/pages.gql.js +3 -1
  64. package/graphql/graphql/pages.gql.js.map +1 -1
  65. package/graphql/graphql/templates.gql.js +3 -1
  66. package/graphql/graphql/templates.gql.js.map +1 -1
  67. package/graphql/graphql/utils/resolve.js +3 -1
  68. package/graphql/graphql/utils/resolve.js.map +1 -1
  69. package/graphql/graphql.js +3 -1
  70. package/graphql/graphql.js.map +1 -1
  71. package/graphql/index.js +3 -1
  72. package/graphql/index.js.map +1 -1
  73. package/graphql/types.d.ts +113 -1
  74. package/graphql/types.js +3 -1
  75. package/graphql/types.js.map +1 -1
  76. package/import/constants.js +3 -1
  77. package/import/constants.js.map +1 -1
  78. package/import/create/blocksHandler.js +3 -3
  79. package/import/create/blocksHandler.js.map +1 -1
  80. package/import/create/formsHandler.js +3 -1
  81. package/import/create/formsHandler.js.map +1 -1
  82. package/import/create/index.js +3 -1
  83. package/import/create/index.js.map +1 -1
  84. package/import/create/pagesHandler.js +3 -1
  85. package/import/create/pagesHandler.js.map +1 -1
  86. package/import/create/templatesHandler.js +3 -1
  87. package/import/create/templatesHandler.js.map +1 -1
  88. package/import/process/blocks/blocksHandler.js +6 -6
  89. package/import/process/blocks/blocksHandler.js.map +1 -1
  90. package/import/process/blocks/importBlock.d.ts +2 -2
  91. package/import/process/blocks/importBlock.js +33 -27
  92. package/import/process/blocks/importBlock.js.map +1 -1
  93. package/import/process/forms/formsHandler.js +4 -2
  94. package/import/process/forms/formsHandler.js.map +1 -1
  95. package/import/process/forms/importForm.d.ts +1 -1
  96. package/import/process/forms/importForm.js +6 -2
  97. package/import/process/forms/importForm.js.map +1 -1
  98. package/import/process/index.js +3 -1
  99. package/import/process/index.js.map +1 -1
  100. package/import/process/pages/importPage.d.ts +1 -1
  101. package/import/process/pages/importPage.js +8 -6
  102. package/import/process/pages/importPage.js.map +1 -1
  103. package/import/process/pages/pagesHandler.js +3 -1
  104. package/import/process/pages/pagesHandler.js.map +1 -1
  105. package/import/process/templates/importTemplate.d.ts +1 -1
  106. package/import/process/templates/importTemplate.js +6 -2
  107. package/import/process/templates/importTemplate.js.map +1 -1
  108. package/import/process/templates/templatesHandler.js +3 -1
  109. package/import/process/templates/templatesHandler.js.map +1 -1
  110. package/import/utils/deleteS3Folder.js +3 -1
  111. package/import/utils/deleteS3Folder.js.map +1 -1
  112. package/import/utils/extractAndUploadZipFileContents.js +3 -2
  113. package/import/utils/extractAndUploadZipFileContents.js.map +1 -1
  114. package/import/utils/extractZipAndUploadToS3.js +3 -1
  115. package/import/utils/extractZipAndUploadToS3.js.map +1 -1
  116. package/import/utils/getFileNameWithoutExt.js +3 -1
  117. package/import/utils/getFileNameWithoutExt.js.map +1 -1
  118. package/import/utils/index.js +3 -1
  119. package/import/utils/index.js.map +1 -1
  120. package/import/utils/initialStats.js +3 -1
  121. package/import/utils/initialStats.js.map +1 -1
  122. package/import/utils/prepareDataDirMap.js +3 -1
  123. package/import/utils/prepareDataDirMap.js.map +1 -1
  124. package/import/utils/updateFilesInData.js +5 -2
  125. package/import/utils/updateFilesInData.js.map +1 -1
  126. package/import/utils/uploadAssets.js +54 -11
  127. package/import/utils/uploadAssets.js.map +1 -1
  128. package/import/utils/uploadFilesFromS3.d.ts +1 -1
  129. package/import/utils/uploadFilesFromS3.js +4 -2
  130. package/import/utils/uploadFilesFromS3.js.map +1 -1
  131. package/mockSecurity.js +3 -1
  132. package/mockSecurity.js.map +1 -1
  133. package/package.json +27 -32
  134. package/types.js +62 -8
  135. package/types.js.map +1 -1
@@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _error = _interopRequireDefault(require("@webiny/error"));
9
- var _handlerGraphql = require("@webiny/handler-graphql");
9
+ var _pubsub = require("@webiny/pubsub");
10
10
  var _api = require("@webiny/api");
11
11
  var _types = require("../../types");
12
12
  var _client = require("../../client");
13
13
  var _utils = require("../../import/utils");
14
- var _utils2 = require("../../export/utils");
15
- var _utils3 = require("@webiny/utils");
14
+ var _utils2 = require("@webiny/utils");
16
15
  var _PageBlocksPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PageBlocksPermissions");
16
+ const EXPORT_BLOCKS_FOLDER_KEY = "WEBINY_PB_EXPORT_BLOCK";
17
17
  const EXPORT_BLOCKS_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
18
18
  const IMPORT_BLOCKS_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
19
19
  var _default = new _api.ContextPlugin(context => {
@@ -22,26 +22,31 @@ var _default = new _api.ContextPlugin(context => {
22
22
  getIdentity: context.security.getIdentity,
23
23
  fullAccessPermissionName: "pb.*"
24
24
  });
25
+
26
+ // Export
27
+ const onBlocksBeforeExport = (0, _pubsub.createTopic)("PageBuilder.onBlocksBeforeExport");
28
+ const onBlocksAfterExport = (0, _pubsub.createTopic)("PageBuilder.onBlocksAfterExport");
29
+
30
+ // Import
31
+ const onBlocksBeforeImport = (0, _pubsub.createTopic)("PageBuilder.onBlocksBeforeImport");
32
+ const onBlocksAfterImport = (0, _pubsub.createTopic)("PageBuilder.onBlocksAfterImport");
25
33
  const importExportCrud = {
26
- async importBlocks({
27
- category: categorySlug,
28
- zipFileUrl
29
- }) {
34
+ onBlocksBeforeExport,
35
+ onBlocksAfterExport,
36
+ onBlocksBeforeImport,
37
+ onBlocksAfterImport,
38
+ async importBlocks(params) {
39
+ const {
40
+ zipFileUrl
41
+ } = params;
30
42
  await pageBlocksPermissions.ensure({
31
43
  rwd: "w"
32
44
  });
33
45
 
34
- // Bail out early if category not found
35
- const category = await context.pageBuilder.getBlockCategory(categorySlug);
36
- if (!category) {
37
- throw new _handlerGraphql.NotFoundError(`Category with slug "${categorySlug}" not found.`);
38
- }
39
-
40
46
  // Create a task for import block
41
47
  const task = await context.pageBuilder.importExportTask.createTask({
42
48
  status: _types.ImportExportTaskStatus.PENDING,
43
49
  input: {
44
- category: categorySlug,
45
50
  zipFileUrl
46
51
  }
47
52
  });
@@ -50,11 +55,13 @@ var _default = new _api.ContextPlugin(context => {
50
55
  * ImportBlocks
51
56
  * importBlocks
52
57
  */
58
+ await onBlocksBeforeImport.publish({
59
+ params
60
+ });
53
61
  await (0, _client.invokeHandlerClient)({
54
62
  context,
55
63
  name: IMPORT_BLOCKS_CREATE_HANDLER,
56
64
  payload: {
57
- category: categorySlug,
58
65
  zipFileUrl,
59
66
  task,
60
67
  type: "block",
@@ -62,14 +69,18 @@ var _default = new _api.ContextPlugin(context => {
62
69
  },
63
70
  description: "Import Blocks - create"
64
71
  });
72
+ await onBlocksAfterImport.publish({
73
+ params
74
+ });
65
75
  return {
66
76
  task
67
77
  };
68
78
  },
69
- async exportBlocks({
70
- ids: initialBlockIds,
71
- where
72
- }) {
79
+ async exportBlocks(params) {
80
+ const {
81
+ ids: initialBlockIds,
82
+ where
83
+ } = params;
73
84
  await pageBlocksPermissions.ensure({
74
85
  rwd: "w"
75
86
  });
@@ -90,12 +101,12 @@ var _default = new _api.ContextPlugin(context => {
90
101
  const task = await context.pageBuilder.importExportTask.createTask({
91
102
  status: _types.ImportExportTaskStatus.PENDING
92
103
  });
93
- const exportBlocksDataKey = `${_utils2.EXPORT_BLOCKS_FOLDER_KEY}/${task.id}`;
104
+ const exportBlocksDataKey = `${EXPORT_BLOCKS_FOLDER_KEY}/${task.id}`;
94
105
  // For each block create a sub task and invoke the process handler.
95
106
  for (let i = 0; i < blockIds.length; i++) {
96
107
  const blockId = blockIds[i];
97
108
  // Create sub task.
98
- await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
109
+ await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
99
110
  status: _types.ImportExportTaskStatus.PENDING,
100
111
  input: {
101
112
  blockId,
@@ -117,6 +128,9 @@ var _default = new _api.ContextPlugin(context => {
117
128
  * ExportBlocks
118
129
  * exportBlocks
119
130
  */
131
+ await onBlocksBeforeExport.publish({
132
+ params
133
+ });
120
134
  // Invoke handler.
121
135
  await (0, _client.invokeHandlerClient)({
122
136
  context,
@@ -129,6 +143,9 @@ var _default = new _api.ContextPlugin(context => {
129
143
  },
130
144
  description: "Export blocks - process"
131
145
  });
146
+ await onBlocksAfterExport.publish({
147
+ params
148
+ });
132
149
  return {
133
150
  task
134
151
  };
@@ -137,4 +154,6 @@ var _default = new _api.ContextPlugin(context => {
137
154
  // Modify context
138
155
  context.pageBuilder.blocks = importExportCrud;
139
156
  });
140
- exports.default = _default;
157
+ exports.default = _default;
158
+
159
+ //# sourceMappingURL=blocks.crud.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EXPORT_BLOCKS_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_BLOCKS_CREATE_HANDLER","IMPORT_CREATE_HANDLER","ContextPlugin","context","pageBlocksPermissions","PageBlocksPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","importExportCrud","importBlocks","category","categorySlug","zipFileUrl","ensure","rwd","pageBuilder","getBlockCategory","NotFoundError","task","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","description","exportBlocks","ids","initialBlockIds","where","blockIds","Array","isArray","length","blocks","listPageBlocks","map","block","id","WebinyError","exportBlocksDataKey","EXPORT_BLOCKS_FOLDER_KEY","i","blockId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex"],"sources":["blocks.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { ImportExportTaskStatus, BlocksImportExportCrud, PbImportExportContext } from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as CreateHandlerPayload } from \"~/import/create\";\nimport { initialStats } from \"~/import/utils\";\nimport { Payload as ExportBlocksProcessHandlerPayload } from \"~/export/process\";\nimport { EXPORT_BLOCKS_FOLDER_KEY } from \"~/export/utils\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { PageBlocksPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PageBlocksPermissions\";\n\nconst EXPORT_BLOCKS_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER as string;\nconst IMPORT_BLOCKS_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER as string;\n\nexport default new ContextPlugin<PbImportExportContext>(context => {\n const pageBlocksPermissions = new PageBlocksPermissions({\n getPermissions: () => context.security.getPermissions(\"pb.block\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n const importExportCrud: BlocksImportExportCrud = {\n async importBlocks({ category: categorySlug, zipFileUrl }) {\n await pageBlocksPermissions.ensure({ rwd: \"w\" });\n\n // Bail out early if category not found\n const category = await context.pageBuilder.getBlockCategory(categorySlug);\n if (!category) {\n throw new NotFoundError(`Category with slug \"${categorySlug}\" not found.`);\n }\n\n // Create a task for import block\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING,\n input: {\n category: categorySlug,\n zipFileUrl\n }\n });\n /**\n * Import Blocks\n * ImportBlocks\n * importBlocks\n */\n await invokeHandlerClient<CreateHandlerPayload>({\n context,\n name: IMPORT_BLOCKS_CREATE_HANDLER,\n payload: {\n category: categorySlug,\n zipFileUrl,\n task,\n type: \"block\",\n identity: context.security.getIdentity()\n },\n description: \"Import Blocks - create\"\n });\n\n return {\n task\n };\n },\n\n async exportBlocks({ ids: initialBlockIds, where }) {\n await pageBlocksPermissions.ensure({ rwd: \"w\" });\n\n let blockIds: string[] = initialBlockIds || [];\n // If no ids are provided then it means we want to export all blocks\n if (\n !initialBlockIds ||\n (Array.isArray(initialBlockIds) && initialBlockIds.length === 0)\n ) {\n const blocks = await context.pageBuilder.listPageBlocks({ where });\n // Save block ids\n blockIds = blocks.map(block => block.id);\n }\n\n if (blockIds.length === 0) {\n throw new WebinyError(\n \"Cannot export blocks - no blocks found for provided inputs.\",\n \"EMPTY_EXPORT_NO_BLOCKS_FOUND\"\n );\n }\n\n // Create the main task for blocks export.\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING\n });\n const exportBlocksDataKey = `${EXPORT_BLOCKS_FOLDER_KEY}/${task.id}`;\n // For each block create a sub task and invoke the process handler.\n for (let i = 0; i < blockIds.length; i++) {\n const blockId = blockIds[i];\n // Create sub task.\n await context.pageBuilder.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n input: {\n blockId,\n exportBlocksDataKey\n }\n }\n );\n }\n // Update main task status.\n await context.pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(blockIds.length),\n input: {\n exportBlocksDataKey\n }\n });\n\n /**\n * Export Blocks\n * ExportBlocks\n * exportBlocks\n */\n // Invoke handler.\n await invokeHandlerClient<ExportBlocksProcessHandlerPayload>({\n context,\n name: EXPORT_BLOCKS_PROCESS_HANDLER,\n payload: {\n taskId: task.id,\n subTaskIndex: 1,\n type: \"block\",\n identity: context.security.getIdentity()\n },\n description: \"Export blocks - process\"\n });\n\n return { task };\n }\n };\n // Modify context\n context.pageBuilder.blocks = importExportCrud;\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_pubsub","_api","_types","_client","_utils","_utils2","_PageBlocksPermissions","EXPORT_BLOCKS_FOLDER_KEY","EXPORT_BLOCKS_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_BLOCKS_CREATE_HANDLER","IMPORT_CREATE_HANDLER","_default","ContextPlugin","context","pageBlocksPermissions","PageBlocksPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","onBlocksBeforeExport","createTopic","onBlocksAfterExport","onBlocksBeforeImport","onBlocksAfterImport","importExportCrud","importBlocks","params","zipFileUrl","ensure","rwd","task","pageBuilder","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","publish","invokeHandlerClient","name","payload","type","identity","description","exportBlocks","ids","initialBlockIds","where","blockIds","Array","isArray","length","blocks","listPageBlocks","map","block","id","WebinyError","exportBlocksDataKey","i","blockId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex","exports","default"],"sources":["blocks.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport {\n ImportExportTaskStatus,\n BlocksImportExportCrud,\n PbImportExportContext,\n OnBlocksBeforeExportTopicParams,\n OnBlocksAfterExportTopicParams,\n OnBlocksBeforeImportTopicParams,\n OnBlocksAfterImportTopicParams\n} from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as CreateHandlerPayload } from \"~/import/create\";\nimport { initialStats } from \"~/import/utils\";\nimport { Payload as ExportBlocksProcessHandlerPayload } from \"~/export/process\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { PageBlocksPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PageBlocksPermissions\";\n\nconst EXPORT_BLOCKS_FOLDER_KEY = \"WEBINY_PB_EXPORT_BLOCK\";\nconst EXPORT_BLOCKS_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER as string;\nconst IMPORT_BLOCKS_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER as string;\n\nexport default new ContextPlugin<PbImportExportContext>(context => {\n const pageBlocksPermissions = new PageBlocksPermissions({\n getPermissions: () => context.security.getPermissions(\"pb.block\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n // Export\n const onBlocksBeforeExport = createTopic<OnBlocksBeforeExportTopicParams>(\n \"PageBuilder.onBlocksBeforeExport\"\n );\n const onBlocksAfterExport = createTopic<OnBlocksAfterExportTopicParams>(\n \"PageBuilder.onBlocksAfterExport\"\n );\n\n // Import\n const onBlocksBeforeImport = createTopic<OnBlocksBeforeImportTopicParams>(\n \"PageBuilder.onBlocksBeforeImport\"\n );\n const onBlocksAfterImport = createTopic<OnBlocksAfterImportTopicParams>(\n \"PageBuilder.onBlocksAfterImport\"\n );\n\n const importExportCrud: BlocksImportExportCrud = {\n onBlocksBeforeExport,\n onBlocksAfterExport,\n onBlocksBeforeImport,\n onBlocksAfterImport,\n async importBlocks(params) {\n const { zipFileUrl } = params;\n await pageBlocksPermissions.ensure({ rwd: \"w\" });\n\n // Create a task for import block\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING,\n input: {\n zipFileUrl\n }\n });\n /**\n * Import Blocks\n * ImportBlocks\n * importBlocks\n */\n await onBlocksBeforeImport.publish({ params });\n await invokeHandlerClient<CreateHandlerPayload>({\n context,\n name: IMPORT_BLOCKS_CREATE_HANDLER,\n payload: {\n zipFileUrl,\n task,\n type: \"block\",\n identity: context.security.getIdentity()\n },\n description: \"Import Blocks - create\"\n });\n await onBlocksAfterImport.publish({ params });\n\n return {\n task\n };\n },\n\n async exportBlocks(params) {\n const { ids: initialBlockIds, where } = params;\n await pageBlocksPermissions.ensure({ rwd: \"w\" });\n\n let blockIds: string[] = initialBlockIds || [];\n // If no ids are provided then it means we want to export all blocks\n if (\n !initialBlockIds ||\n (Array.isArray(initialBlockIds) && initialBlockIds.length === 0)\n ) {\n const blocks = await context.pageBuilder.listPageBlocks({ where });\n // Save block ids\n blockIds = blocks.map(block => block.id);\n }\n\n if (blockIds.length === 0) {\n throw new WebinyError(\n \"Cannot export blocks - no blocks found for provided inputs.\",\n \"EMPTY_EXPORT_NO_BLOCKS_FOUND\"\n );\n }\n\n // Create the main task for blocks export.\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING\n });\n const exportBlocksDataKey = `${EXPORT_BLOCKS_FOLDER_KEY}/${task.id}`;\n // For each block create a sub task and invoke the process handler.\n for (let i = 0; i < blockIds.length; i++) {\n const blockId = blockIds[i];\n // Create sub task.\n await context.pageBuilder.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n input: {\n blockId,\n exportBlocksDataKey\n }\n }\n );\n }\n // Update main task status.\n await context.pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(blockIds.length),\n input: {\n exportBlocksDataKey\n }\n });\n\n /**\n * Export Blocks\n * ExportBlocks\n * exportBlocks\n */\n await onBlocksBeforeExport.publish({ params });\n // Invoke handler.\n await invokeHandlerClient<ExportBlocksProcessHandlerPayload>({\n context,\n name: EXPORT_BLOCKS_PROCESS_HANDLER,\n payload: {\n taskId: task.id,\n subTaskIndex: 1,\n type: \"block\",\n identity: context.security.getIdentity()\n },\n description: \"Export blocks - process\"\n });\n await onBlocksAfterExport.publish({ params });\n\n return { task };\n }\n };\n // Modify context\n context.pageBuilder.blocks = importExportCrud;\n});\n"],"mappings":"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"}
@@ -6,13 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _error = _interopRequireDefault(require("@webiny/error"));
9
+ var _pubsub = require("@webiny/pubsub");
9
10
  var _api = require("@webiny/api");
10
11
  var _types = require("../../types");
11
12
  var _client = require("../../client");
12
13
  var _utils = require("../../import/utils");
13
- var _utils2 = require("../../export/utils");
14
- var _utils3 = require("@webiny/utils");
14
+ var _utils2 = require("@webiny/utils");
15
15
  var _FormsPermissions = require("@webiny/api-form-builder/plugins/crud/permissions/FormsPermissions");
16
+ const EXPORT_FORMS_FOLDER_KEY = "WEBINY_FB_EXPORT_FORM";
16
17
  const EXPORT_FORMS_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
17
18
  const IMPORT_FORMS_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
18
19
  var _default = new _api.ContextPlugin(context => {
@@ -21,11 +22,24 @@ var _default = new _api.ContextPlugin(context => {
21
22
  getIdentity: context.security.getIdentity,
22
23
  fullAccessPermissionName: "pb.*"
23
24
  });
25
+
26
+ // Export
27
+ const onFormsBeforeExport = (0, _pubsub.createTopic)("PageBuilder.onFormsBeforeExport");
28
+ const onFormsAfterExport = (0, _pubsub.createTopic)("PageBuilder.onFormsAfterExport");
29
+
30
+ // Import
31
+ const onFormsBeforeImport = (0, _pubsub.createTopic)("PageBuilder.onFormsBeforeImport");
32
+ const onFormsAfterImport = (0, _pubsub.createTopic)("PageBuilder.onFormsAfterImport");
24
33
  context.waitFor("formBuilder", () => {
25
34
  const importExportCrud = {
26
- async importForms({
27
- zipFileUrl
28
- }) {
35
+ onFormsBeforeExport,
36
+ onFormsAfterExport,
37
+ onFormsBeforeImport,
38
+ onFormsAfterImport,
39
+ async importForms(params) {
40
+ const {
41
+ zipFileUrl
42
+ } = params;
29
43
  await formsPermissions.ensure({
30
44
  rwd: "w"
31
45
  });
@@ -42,6 +56,9 @@ var _default = new _api.ContextPlugin(context => {
42
56
  * ImportForms
43
57
  * importForms
44
58
  */
59
+ await onFormsBeforeImport.publish({
60
+ params
61
+ });
45
62
  await (0, _client.invokeHandlerClient)({
46
63
  context,
47
64
  name: IMPORT_FORMS_CREATE_HANDLER,
@@ -53,14 +70,18 @@ var _default = new _api.ContextPlugin(context => {
53
70
  },
54
71
  description: "Import Forms - create"
55
72
  });
73
+ await onFormsAfterImport.publish({
74
+ params
75
+ });
56
76
  return {
57
77
  task
58
78
  };
59
79
  },
60
- async exportForms({
61
- ids: initialFormIds,
62
- revisionType
63
- }) {
80
+ async exportForms(params) {
81
+ const {
82
+ ids: initialFormIds,
83
+ revisionType
84
+ } = params;
64
85
  await formsPermissions.ensure({
65
86
  rwd: "w"
66
87
  });
@@ -81,12 +102,12 @@ var _default = new _api.ContextPlugin(context => {
81
102
  const task = await context.pageBuilder.importExportTask.createTask({
82
103
  status: _types.ImportExportTaskStatus.PENDING
83
104
  });
84
- const exportFormsDataKey = `${_utils2.EXPORT_FORMS_FOLDER_KEY}/${task.id}`;
105
+ const exportFormsDataKey = `${EXPORT_FORMS_FOLDER_KEY}/${task.id}`;
85
106
  // For each form create a sub task and invoke the process handler.
86
107
  for (let i = 0; i < formIds.length; i++) {
87
108
  const formId = formIds[i];
88
109
  // Create sub task.
89
- await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
110
+ await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
90
111
  status: _types.ImportExportTaskStatus.PENDING,
91
112
  input: {
92
113
  formId,
@@ -110,6 +131,9 @@ var _default = new _api.ContextPlugin(context => {
110
131
  * ExportForms
111
132
  * exportForms
112
133
  */
134
+ await onFormsBeforeExport.publish({
135
+ params
136
+ });
113
137
  // Invoke handler.
114
138
  await (0, _client.invokeHandlerClient)({
115
139
  context,
@@ -122,6 +146,9 @@ var _default = new _api.ContextPlugin(context => {
122
146
  },
123
147
  description: "Export forms - process"
124
148
  });
149
+ await onFormsAfterExport.publish({
150
+ params
151
+ });
125
152
  return {
126
153
  task
127
154
  };
@@ -131,4 +158,6 @@ var _default = new _api.ContextPlugin(context => {
131
158
  context.formBuilder.forms = importExportCrud;
132
159
  });
133
160
  });
134
- exports.default = _default;
161
+ exports.default = _default;
162
+
163
+ //# sourceMappingURL=forms.crud.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EXPORT_FORMS_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_FORMS_CREATE_HANDLER","IMPORT_CREATE_HANDLER","ContextPlugin","context","formsPermissions","FormsPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","waitFor","importExportCrud","importForms","zipFileUrl","ensure","rwd","task","pageBuilder","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","description","exportForms","ids","initialFormIds","revisionType","formIds","Array","isArray","length","forms","formBuilder","listForms","forEach","form","push","id","WebinyError","exportFormsDataKey","EXPORT_FORMS_FOLDER_KEY","i","formId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex"],"sources":["forms.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { ImportExportTaskStatus, FormsImportExportCrud, PbImportExportContext } from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as CreateHandlerPayload } from \"~/import/create\";\nimport { initialStats } from \"~/import/utils\";\nimport { Payload as ExportFormsProcessHandlerPayload } from \"~/export/process\";\nimport { EXPORT_FORMS_FOLDER_KEY } from \"~/export/utils\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { FormsPermissions } from \"@webiny/api-form-builder/plugins/crud/permissions/FormsPermissions\";\n\nconst EXPORT_FORMS_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER as string;\nconst IMPORT_FORMS_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER as string;\n\nexport default new ContextPlugin<PbImportExportContext>(context => {\n const formsPermissions = new FormsPermissions({\n getPermissions: () => context.security.getPermissions(\"fb.form\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n context.waitFor(\"formBuilder\", () => {\n const importExportCrud: FormsImportExportCrud = {\n async importForms({ zipFileUrl }) {\n await formsPermissions.ensure({ rwd: \"w\" });\n\n // Create a task for import form\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING,\n input: {\n zipFileUrl\n }\n });\n /**\n * Import Forms\n * ImportForms\n * importForms\n */\n await invokeHandlerClient<CreateHandlerPayload>({\n context,\n name: IMPORT_FORMS_CREATE_HANDLER,\n payload: {\n zipFileUrl,\n task,\n type: \"form\",\n identity: context.security.getIdentity()\n },\n description: \"Import Forms - create\"\n });\n\n return {\n task\n };\n },\n\n async exportForms({ ids: initialFormIds, revisionType }) {\n await formsPermissions.ensure({ rwd: \"w\" });\n let formIds: string[] = initialFormIds || [];\n // If no ids are provided then it means we want to export all forms\n if (\n !initialFormIds ||\n (Array.isArray(initialFormIds) && initialFormIds.length === 0)\n ) {\n formIds = [];\n\n const forms = await context.formBuilder.listForms();\n\n // Save form ids\n forms.forEach(form => formIds.push(form.id));\n }\n\n if (formIds.length === 0) {\n throw new WebinyError(\n \"Cannot export forms - no forms found for provided inputs.\",\n \"EMPTY_EXPORT_NO_FORMS_FOUND\"\n );\n }\n\n // Create the main task for form export.\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING\n });\n const exportFormsDataKey = `${EXPORT_FORMS_FOLDER_KEY}/${task.id}`;\n // For each form create a sub task and invoke the process handler.\n for (let i = 0; i < formIds.length; i++) {\n const formId = formIds[i];\n // Create sub task.\n await context.pageBuilder.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n input: {\n formId,\n exportFormsDataKey,\n revisionType\n }\n }\n );\n }\n // Update main task status.\n await context.pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(formIds.length),\n input: {\n exportFormsDataKey,\n revisionType\n }\n });\n\n /**\n * Export Forms\n * ExportForms\n * exportForms\n */\n // Invoke handler.\n await invokeHandlerClient<ExportFormsProcessHandlerPayload>({\n context,\n name: EXPORT_FORMS_PROCESS_HANDLER,\n payload: {\n taskId: task.id,\n subTaskIndex: 1,\n type: \"form\",\n identity: context.security.getIdentity()\n },\n description: \"Export forms - process\"\n });\n\n return { task };\n }\n };\n // Modify context\n context.formBuilder.forms = importExportCrud;\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_pubsub","_api","_types","_client","_utils","_utils2","_FormsPermissions","EXPORT_FORMS_FOLDER_KEY","EXPORT_FORMS_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_FORMS_CREATE_HANDLER","IMPORT_CREATE_HANDLER","_default","ContextPlugin","context","formsPermissions","FormsPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","onFormsBeforeExport","createTopic","onFormsAfterExport","onFormsBeforeImport","onFormsAfterImport","waitFor","importExportCrud","importForms","params","zipFileUrl","ensure","rwd","task","pageBuilder","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","publish","invokeHandlerClient","name","payload","type","identity","description","exportForms","ids","initialFormIds","revisionType","formIds","Array","isArray","length","forms","formBuilder","listForms","forEach","form","push","id","WebinyError","exportFormsDataKey","i","formId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex","exports","default"],"sources":["forms.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport {\n ImportExportTaskStatus,\n FormsImportExportCrud,\n PbImportExportContext,\n OnFormsBeforeExportTopicParams,\n OnFormsAfterExportTopicParams,\n OnFormsBeforeImportTopicParams,\n OnFormsAfterImportTopicParams\n} from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as CreateHandlerPayload } from \"~/import/create\";\nimport { initialStats } from \"~/import/utils\";\nimport { Payload as ExportFormsProcessHandlerPayload } from \"~/export/process\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { FormsPermissions } from \"@webiny/api-form-builder/plugins/crud/permissions/FormsPermissions\";\n\nconst EXPORT_FORMS_FOLDER_KEY = \"WEBINY_FB_EXPORT_FORM\";\nconst EXPORT_FORMS_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER as string;\nconst IMPORT_FORMS_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER as string;\n\nexport default new ContextPlugin<PbImportExportContext>(context => {\n const formsPermissions = new FormsPermissions({\n getPermissions: () => context.security.getPermissions(\"fb.form\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n // Export\n const onFormsBeforeExport = createTopic<OnFormsBeforeExportTopicParams>(\n \"PageBuilder.onFormsBeforeExport\"\n );\n const onFormsAfterExport = createTopic<OnFormsAfterExportTopicParams>(\n \"PageBuilder.onFormsAfterExport\"\n );\n\n // Import\n const onFormsBeforeImport = createTopic<OnFormsBeforeImportTopicParams>(\n \"PageBuilder.onFormsBeforeImport\"\n );\n const onFormsAfterImport = createTopic<OnFormsAfterImportTopicParams>(\n \"PageBuilder.onFormsAfterImport\"\n );\n\n context.waitFor(\"formBuilder\", () => {\n const importExportCrud: FormsImportExportCrud = {\n onFormsBeforeExport,\n onFormsAfterExport,\n onFormsBeforeImport,\n onFormsAfterImport,\n async importForms(params) {\n const { zipFileUrl } = params;\n await formsPermissions.ensure({ rwd: \"w\" });\n\n // Create a task for import form\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING,\n input: {\n zipFileUrl\n }\n });\n /**\n * Import Forms\n * ImportForms\n * importForms\n */\n await onFormsBeforeImport.publish({ params });\n await invokeHandlerClient<CreateHandlerPayload>({\n context,\n name: IMPORT_FORMS_CREATE_HANDLER,\n payload: {\n zipFileUrl,\n task,\n type: \"form\",\n identity: context.security.getIdentity()\n },\n description: \"Import Forms - create\"\n });\n await onFormsAfterImport.publish({ params });\n\n return {\n task\n };\n },\n\n async exportForms(params) {\n const { ids: initialFormIds, revisionType } = params;\n await formsPermissions.ensure({ rwd: \"w\" });\n let formIds: string[] = initialFormIds || [];\n // If no ids are provided then it means we want to export all forms\n if (\n !initialFormIds ||\n (Array.isArray(initialFormIds) && initialFormIds.length === 0)\n ) {\n formIds = [];\n\n const forms = await context.formBuilder.listForms();\n\n // Save form ids\n forms.forEach(form => formIds.push(form.id));\n }\n\n if (formIds.length === 0) {\n throw new WebinyError(\n \"Cannot export forms - no forms found for provided inputs.\",\n \"EMPTY_EXPORT_NO_FORMS_FOUND\"\n );\n }\n\n // Create the main task for form export.\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING\n });\n const exportFormsDataKey = `${EXPORT_FORMS_FOLDER_KEY}/${task.id}`;\n // For each form create a sub task and invoke the process handler.\n for (let i = 0; i < formIds.length; i++) {\n const formId = formIds[i];\n // Create sub task.\n await context.pageBuilder.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n input: {\n formId,\n exportFormsDataKey,\n revisionType\n }\n }\n );\n }\n // Update main task status.\n await context.pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(formIds.length),\n input: {\n exportFormsDataKey,\n revisionType\n }\n });\n\n /**\n * Export Forms\n * ExportForms\n * exportForms\n */\n await onFormsBeforeExport.publish({ params });\n // Invoke handler.\n await invokeHandlerClient<ExportFormsProcessHandlerPayload>({\n context,\n name: EXPORT_FORMS_PROCESS_HANDLER,\n payload: {\n taskId: task.id,\n subTaskIndex: 1,\n type: \"form\",\n identity: context.security.getIdentity()\n },\n description: \"Export forms - process\"\n });\n await onFormsAfterExport.publish({ params });\n\n return { task };\n }\n };\n // Modify context\n context.formBuilder.forms = importExportCrud;\n });\n});\n"],"mappings":"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"}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
8
  var _utils = require("@webiny/utils");
10
9
  var _fields = require("@commodo/fields");
11
10
  var _commodoFieldsObject = require("commodo-fields-object");
@@ -17,14 +16,11 @@ var _error = _interopRequireDefault(require("@webiny/error"));
17
16
  var _PagesPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions");
18
17
  /**
19
18
  * Package @commodo/fields does not have types.
20
- */
21
- // @ts-ignore
22
-
19
+ */ // @ts-expect-error
23
20
  /**
24
21
  * Package commodo-fields-object does not have types.
25
22
  */
26
- // @ts-ignore
27
-
23
+ // @ts-expect-error
28
24
  const validStatus = `${_types.ImportExportTaskStatus.PENDING}:${_types.ImportExportTaskStatus.PROCESSING}:${_types.ImportExportTaskStatus.COMPLETED}:${_types.ImportExportTaskStatus.FAILED}`;
29
25
  const CreateDataModel = (0, _fields.withFields)({
30
26
  status: (0, _fields.string)({
@@ -90,9 +86,10 @@ var _default = ({
90
86
  return null;
91
87
  }
92
88
  } catch (ex) {
93
- throw new _error.default(ex.message || "Could not get importExportTask by id.", ex.code || "GET_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
89
+ throw new _error.default(ex.message || "Could not get importExportTask by id.", ex.code || "GET_IMPORT_EXPORT_TASK_ERROR", {
90
+ ...(ex.data || {}),
94
91
  params
95
- }));
92
+ });
96
93
  }
97
94
  await pagesPermissions.ensure({
98
95
  owns: importExportTask.createdBy
@@ -141,7 +138,8 @@ var _default = ({
141
138
  const id = (0, _utils.mdbid)();
142
139
  const identity = context.security.getIdentity();
143
140
  const data = await createDataModel.toJSON();
144
- const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
141
+ const importExportTask = {
142
+ ...data,
145
143
  tenant: context.tenancy.getCurrentTenant().id,
146
144
  locale: getLocale().code,
147
145
  id,
@@ -151,16 +149,17 @@ var _default = ({
151
149
  type: identity.type,
152
150
  displayName: identity.displayName
153
151
  }
154
- });
152
+ };
155
153
  try {
156
154
  return await storageOperations.createTask({
157
155
  input: data,
158
156
  task: importExportTask
159
157
  });
160
158
  } catch (ex) {
161
- throw new _error.default(ex.message || "Could not create importExportTask.", ex.code || "CREATE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
159
+ throw new _error.default(ex.message || "Could not create importExportTask.", ex.code || "CREATE_IMPORT_EXPORT_TASK_ERROR", {
160
+ ...(ex.data || {}),
162
161
  importExportTask
163
- }));
162
+ });
164
163
  }
165
164
  },
166
165
  async updateTask(id, input) {
@@ -179,7 +178,10 @@ var _default = ({
179
178
  const data = await updateDataModel.toJSON({
180
179
  onlyDirty: true
181
180
  });
182
- const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
181
+ const importExportTask = {
182
+ ...original,
183
+ ...data
184
+ };
183
185
  try {
184
186
  return await storageOperations.updateTask({
185
187
  input: data,
@@ -187,10 +189,11 @@ var _default = ({
187
189
  task: importExportTask
188
190
  });
189
191
  } catch (ex) {
190
- throw new _error.default(ex.message || "Could not update importExportTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
192
+ throw new _error.default(ex.message || "Could not update importExportTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", {
193
+ ...(ex.data || {}),
191
194
  original,
192
195
  importExportTask
193
- }));
196
+ });
194
197
  }
195
198
  },
196
199
  async deleteTask(id) {
@@ -209,9 +212,10 @@ var _default = ({
209
212
  task: importExportTask
210
213
  });
211
214
  } catch (ex) {
212
- throw new _error.default(ex.message || "Could not delete importExportTask.", ex.code || "DELETE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
215
+ throw new _error.default(ex.message || "Could not delete importExportTask.", ex.code || "DELETE_IMPORT_EXPORT_TASK_ERROR", {
216
+ ...(ex.data || {}),
213
217
  importExportTask
214
- }));
218
+ });
215
219
  }
216
220
  },
217
221
  async updateStats(id, input) {
@@ -231,9 +235,10 @@ var _default = ({
231
235
  original
232
236
  });
233
237
  } catch (ex) {
234
- throw new _error.default(ex.message || "Could not update importExportTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
238
+ throw new _error.default(ex.message || "Could not update importExportTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", {
239
+ ...(ex.data || {}),
235
240
  original
236
- }));
241
+ });
237
242
  }
238
243
  },
239
244
  async createSubTask(parent, id, input) {
@@ -244,7 +249,8 @@ var _default = ({
244
249
  await createDataModel.validate();
245
250
  const identity = context.security.getIdentity();
246
251
  const data = await createDataModel.toJSON();
247
- const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
252
+ const importExportSubTask = {
253
+ ...data,
248
254
  tenant: context.tenancy.getCurrentTenant().id,
249
255
  locale: getLocale().code,
250
256
  id: id,
@@ -255,16 +261,17 @@ var _default = ({
255
261
  type: identity.type,
256
262
  displayName: identity.displayName
257
263
  }
258
- });
264
+ };
259
265
  try {
260
266
  return await storageOperations.createSubTask({
261
267
  input: data,
262
268
  subTask: importExportSubTask
263
269
  });
264
270
  } catch (ex) {
265
- throw new _error.default(ex.message || "Could not create importExportSubTask.", ex.code || "CREATE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
271
+ throw new _error.default(ex.message || "Could not create importExportSubTask.", ex.code || "CREATE_IMPORT_EXPORT_TASK_ERROR", {
272
+ ...(ex.data || {}),
266
273
  importExportSubTask
267
- }));
274
+ });
268
275
  }
269
276
  },
270
277
  async updateSubTask(parent, subTaskId, input) {
@@ -284,7 +291,10 @@ var _default = ({
284
291
  onlyDirty: true
285
292
  });
286
293
  // TODO: Merge recursively
287
- const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
294
+ const importExportSubTask = {
295
+ ...original,
296
+ ...data
297
+ };
288
298
  try {
289
299
  return await storageOperations.updateSubTask({
290
300
  input: data,
@@ -292,10 +302,11 @@ var _default = ({
292
302
  subTask: importExportSubTask
293
303
  });
294
304
  } catch (ex) {
295
- throw new _error.default(ex.message || "Could not update importExportSubTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
305
+ throw new _error.default(ex.message || "Could not update importExportSubTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", {
306
+ ...(ex.data || {}),
296
307
  importExportSubTask,
297
308
  original
298
- }));
309
+ });
299
310
  }
300
311
  },
301
312
  async getSubTask(parent, subTaskId) {
@@ -319,9 +330,10 @@ var _default = ({
319
330
  return null;
320
331
  }
321
332
  } catch (ex) {
322
- throw new _error.default(ex.message || "Could not get importExportSubTask by id.", ex.code || "GET_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
333
+ throw new _error.default(ex.message || "Could not get importExportSubTask by id.", ex.code || "GET_IMPORT_EXPORT_TASK_ERROR", {
334
+ ...(ex.data || {}),
323
335
  params
324
- }));
336
+ });
325
337
  }
326
338
  await pagesPermissions.ensure({
327
339
  owns: importExportSubTask.createdBy
@@ -364,4 +376,6 @@ var _default = ({
364
376
  }
365
377
  };
366
378
  });
367
- exports.default = _default;
379
+ exports.default = _default;
380
+
381
+ //# sourceMappingURL=importExportTasks.crud.js.map