@webiny/api-page-builder-import-export 0.0.0-unstable.5e7233243f → 0.0.0-unstable.60a863e033

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 (123) hide show
  1. package/client.d.ts +2 -2
  2. package/client.js +6 -16
  3. package/client.js.map +1 -1
  4. package/export/combine/blocksHandler.d.ts +6 -0
  5. package/export/combine/blocksHandler.js +99 -0
  6. package/export/combine/blocksHandler.js.map +1 -0
  7. package/{exportPages → export}/combine/index.d.ts +3 -2
  8. package/export/combine/index.js +35 -0
  9. package/export/combine/index.js.map +1 -0
  10. package/export/combine/pagesHandler.d.ts +6 -0
  11. package/export/combine/pagesHandler.js +99 -0
  12. package/export/combine/pagesHandler.js.map +1 -0
  13. package/export/combine/templatesHandler.d.ts +6 -0
  14. package/export/combine/templatesHandler.js +99 -0
  15. package/export/combine/templatesHandler.js.map +1 -0
  16. package/export/process/blocksHandler.d.ts +6 -0
  17. package/export/process/blocksHandler.js +162 -0
  18. package/export/process/blocksHandler.js.map +1 -0
  19. package/{exportPages → export}/process/index.d.ts +4 -6
  20. package/export/process/index.js +32 -0
  21. package/export/process/index.js.map +1 -0
  22. package/export/process/pagesHandler.d.ts +6 -0
  23. package/export/process/pagesHandler.js +189 -0
  24. package/export/process/pagesHandler.js.map +1 -0
  25. package/export/process/templatesHandler.d.ts +6 -0
  26. package/export/process/templatesHandler.js +166 -0
  27. package/export/process/templatesHandler.js.map +1 -0
  28. package/{exportPages → export}/s3Stream.js +4 -25
  29. package/{exportPages → export}/s3Stream.js.map +1 -1
  30. package/export/utils.d.ts +22 -0
  31. package/export/utils.js +160 -0
  32. package/export/utils.js.map +1 -0
  33. package/{exportPages → export}/zipper.d.ts +6 -5
  34. package/{exportPages → export}/zipper.js +39 -52
  35. package/export/zipper.js.map +1 -0
  36. package/graphql/crud/blocks.crud.d.ts +4 -0
  37. package/graphql/crud/blocks.crud.js +137 -0
  38. package/graphql/crud/blocks.crud.js.map +1 -0
  39. package/graphql/crud/importExportTasks.crud.d.ts +5 -0
  40. package/graphql/crud/{pageImportExportTasks.crud.js → importExportTasks.crud.js} +73 -114
  41. package/graphql/crud/importExportTasks.crud.js.map +1 -0
  42. package/graphql/crud/pages.crud.d.ts +2 -2
  43. package/graphql/crud/pages.crud.js +40 -54
  44. package/graphql/crud/pages.crud.js.map +1 -1
  45. package/graphql/crud/templates.crud.d.ts +4 -0
  46. package/graphql/crud/templates.crud.js +124 -0
  47. package/graphql/crud/templates.crud.js.map +1 -0
  48. package/graphql/crud.d.ts +2 -2
  49. package/graphql/crud.js +5 -8
  50. package/graphql/crud.js.map +1 -1
  51. package/graphql/graphql/blocks.gql.d.ts +4 -0
  52. package/graphql/graphql/blocks.gql.js +52 -0
  53. package/graphql/graphql/blocks.gql.js.map +1 -0
  54. package/graphql/graphql/importExportTasks.gql.d.ts +4 -0
  55. package/graphql/graphql/{pageImportExportTasks.gql.js → importExportTasks.gql.js} +19 -24
  56. package/graphql/graphql/importExportTasks.gql.js.map +1 -0
  57. package/graphql/graphql/pages.gql.d.ts +2 -2
  58. package/graphql/graphql/pages.gql.js +5 -16
  59. package/graphql/graphql/pages.gql.js.map +1 -1
  60. package/graphql/graphql/templates.gql.d.ts +4 -0
  61. package/graphql/graphql/templates.gql.js +52 -0
  62. package/graphql/graphql/templates.gql.js.map +1 -0
  63. package/graphql/graphql/utils/resolve.js +0 -3
  64. package/graphql/graphql/utils/resolve.js.map +1 -1
  65. package/graphql/graphql.js +5 -7
  66. package/graphql/graphql.js.map +1 -1
  67. package/graphql/index.d.ts +2 -2
  68. package/graphql/index.js +1 -6
  69. package/graphql/index.js.map +1 -1
  70. package/graphql/types.d.ts +60 -23
  71. package/graphql/types.js.map +1 -1
  72. package/import/create/blocksHandler.d.ts +3 -0
  73. package/import/create/blocksHandler.js +100 -0
  74. package/import/create/blocksHandler.js.map +1 -0
  75. package/{importPages → import}/create/index.d.ts +7 -5
  76. package/import/create/index.js +35 -0
  77. package/import/create/index.js.map +1 -0
  78. package/import/create/pagesHandler.d.ts +3 -0
  79. package/import/create/pagesHandler.js +102 -0
  80. package/import/create/pagesHandler.js.map +1 -0
  81. package/import/create/templatesHandler.d.ts +3 -0
  82. package/import/create/templatesHandler.js +98 -0
  83. package/import/create/templatesHandler.js.map +1 -0
  84. package/import/process/blocksHandler.d.ts +3 -0
  85. package/import/process/blocksHandler.js +169 -0
  86. package/import/process/blocksHandler.js.map +1 -0
  87. package/{importPages → import}/process/index.d.ts +5 -3
  88. package/import/process/index.js +32 -0
  89. package/import/process/index.js.map +1 -0
  90. package/import/process/pagesHandler.d.ts +3 -0
  91. package/import/process/pagesHandler.js +177 -0
  92. package/import/process/pagesHandler.js.map +1 -0
  93. package/import/process/templatesHandler.d.ts +3 -0
  94. package/import/process/templatesHandler.js +169 -0
  95. package/import/process/templatesHandler.js.map +1 -0
  96. package/import/utils.d.ts +56 -0
  97. package/{importPages → import}/utils.js +194 -157
  98. package/import/utils.js.map +1 -0
  99. package/mockSecurity.js +0 -2
  100. package/mockSecurity.js.map +1 -1
  101. package/package.json +28 -28
  102. package/types.d.ts +62 -65
  103. package/types.js +17 -22
  104. package/types.js.map +1 -1
  105. package/exportPages/combine/index.js +0 -114
  106. package/exportPages/combine/index.js.map +0 -1
  107. package/exportPages/process/index.js +0 -208
  108. package/exportPages/process/index.js.map +0 -1
  109. package/exportPages/utils.d.ts +0 -13
  110. package/exportPages/utils.js +0 -113
  111. package/exportPages/utils.js.map +0 -1
  112. package/exportPages/zipper.js.map +0 -1
  113. package/graphql/crud/pageImportExportTasks.crud.d.ts +0 -5
  114. package/graphql/crud/pageImportExportTasks.crud.js.map +0 -1
  115. package/graphql/graphql/pageImportExportTasks.gql.d.ts +0 -4
  116. package/graphql/graphql/pageImportExportTasks.gql.js.map +0 -1
  117. package/importPages/create/index.js +0 -118
  118. package/importPages/create/index.js.map +0 -1
  119. package/importPages/process/index.js +0 -185
  120. package/importPages/process/index.js.map +0 -1
  121. package/importPages/utils.d.ts +0 -50
  122. package/importPages/utils.js.map +0 -1
  123. /package/{exportPages → export}/s3Stream.d.ts +0 -0
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _error = _interopRequireDefault(require("@webiny/error"));
9
+ var _handlerGraphql = require("@webiny/handler-graphql");
10
+ var _api = require("@webiny/api");
11
+ var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
12
+ var _types = require("../../types");
13
+ var _client = require("../../client");
14
+ var _utils = require("../../import/utils");
15
+ var _utils2 = require("../../export/utils");
16
+ var _utils3 = require("@webiny/utils");
17
+ const PERMISSION_NAME = "pb.block";
18
+ const EXPORT_BLOCKS_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
19
+ const IMPORT_BLOCKS_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
20
+ var _default = new _api.ContextPlugin(context => {
21
+ const importExportCrud = {
22
+ async importBlocks({
23
+ category: categorySlug,
24
+ zipFileUrl
25
+ }) {
26
+ await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
27
+ rwd: "w"
28
+ });
29
+
30
+ // Bail out early if category not found
31
+ const category = await context.pageBuilder.getBlockCategory(categorySlug);
32
+ if (!category) {
33
+ throw new _handlerGraphql.NotFoundError(`Category with slug "${categorySlug}" not found.`);
34
+ }
35
+
36
+ // Create a task for import block
37
+ const task = await context.pageBuilder.importExportTask.createTask({
38
+ status: _types.ImportExportTaskStatus.PENDING,
39
+ input: {
40
+ category: categorySlug,
41
+ zipFileUrl
42
+ }
43
+ });
44
+ /**
45
+ * Import Blocks
46
+ * ImportBlocks
47
+ * importBlocks
48
+ */
49
+ await (0, _client.invokeHandlerClient)({
50
+ context,
51
+ name: IMPORT_BLOCKS_CREATE_HANDLER,
52
+ payload: {
53
+ category: categorySlug,
54
+ zipFileUrl,
55
+ task,
56
+ type: "block",
57
+ identity: context.security.getIdentity()
58
+ },
59
+ description: "Import Blocks - create"
60
+ });
61
+ return {
62
+ task
63
+ };
64
+ },
65
+ async exportBlocks({
66
+ ids: initialBlockIds,
67
+ where
68
+ }) {
69
+ await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
70
+ rwd: "w"
71
+ });
72
+ let blockIds = initialBlockIds || [];
73
+ // If no ids are provided then it means we want to export all blocks
74
+ if (!initialBlockIds || Array.isArray(initialBlockIds) && initialBlockIds.length === 0) {
75
+ blockIds = [];
76
+ const blocks = await context.pageBuilder.listPageBlocks({
77
+ where
78
+ });
79
+ // Save block ids
80
+ blocks.forEach(block => blockIds.push(block.id));
81
+ }
82
+ if (blockIds.length === 0) {
83
+ throw new _error.default("Cannot export blocks - no blocks found for provided inputs.", "EMPTY_EXPORT_NO_BLOCKS_FOUND");
84
+ }
85
+
86
+ // Create the main task for blocks export.
87
+ const task = await context.pageBuilder.importExportTask.createTask({
88
+ status: _types.ImportExportTaskStatus.PENDING
89
+ });
90
+ const exportBlocksDataKey = `${_utils2.EXPORT_BLOCKS_FOLDER_KEY}/${task.id}`;
91
+ // For each block create a sub task and invoke the process handler.
92
+ for (let i = 0; i < blockIds.length; i++) {
93
+ const blockId = blockIds[i];
94
+ // Create sub task.
95
+ await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
96
+ status: _types.ImportExportTaskStatus.PENDING,
97
+ input: {
98
+ blockId,
99
+ exportBlocksDataKey
100
+ }
101
+ });
102
+ }
103
+ // Update main task status.
104
+ await context.pageBuilder.importExportTask.updateTask(task.id, {
105
+ status: _types.ImportExportTaskStatus.PROCESSING,
106
+ stats: (0, _utils.initialStats)(blockIds.length),
107
+ input: {
108
+ exportBlocksDataKey
109
+ }
110
+ });
111
+
112
+ /**
113
+ * Export Blocks
114
+ * ExportBlocks
115
+ * exportBlocks
116
+ */
117
+ // Invoke handler.
118
+ await (0, _client.invokeHandlerClient)({
119
+ context,
120
+ name: EXPORT_BLOCKS_PROCESS_HANDLER,
121
+ payload: {
122
+ taskId: task.id,
123
+ subTaskIndex: 1,
124
+ type: "block",
125
+ identity: context.security.getIdentity()
126
+ },
127
+ description: "Export blocks - process"
128
+ });
129
+ return {
130
+ task
131
+ };
132
+ }
133
+ };
134
+ // Modify context
135
+ context.pageBuilder.blocks = importExportCrud;
136
+ });
137
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PERMISSION_NAME","EXPORT_BLOCKS_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_BLOCKS_CREATE_HANDLER","IMPORT_CREATE_HANDLER","ContextPlugin","context","importExportCrud","importBlocks","category","categorySlug","zipFileUrl","checkBasePermissions","rwd","pageBuilder","getBlockCategory","NotFoundError","task","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","security","getIdentity","description","exportBlocks","ids","initialBlockIds","where","blockIds","Array","isArray","length","blocks","listPageBlocks","forEach","block","push","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 checkBasePermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions\";\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\";\n\nconst PERMISSION_NAME = \"pb.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 importExportCrud: BlocksImportExportCrud = {\n async importBlocks({ category: categorySlug, zipFileUrl }) {\n await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\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 checkBasePermissions(context, PERMISSION_NAME, {\n 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 blockIds = [];\n const blocks = await context.pageBuilder.listPageBlocks({ where });\n // Save block ids\n blocks.forEach(block => blockIds.push(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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"}
@@ -0,0 +1,5 @@
1
+ import { ContextPlugin } from "@webiny/api";
2
+ import { ImportExportPluginsParams } from "../../types";
3
+ import { PbImportExportContext } from "../types";
4
+ declare const _default: ({ storageOperations }: ImportExportPluginsParams) => ContextPlugin<PbImportExportContext>;
5
+ export default _default;
@@ -1,39 +1,37 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
9
  var _mdbid = _interopRequireDefault(require("mdbid"));
13
-
14
10
  var _fields = require("@commodo/fields");
15
-
16
11
  var _commodoFieldsObject = require("commodo-fields-object");
17
-
18
12
  var _validation = require("@webiny/validation");
19
-
20
13
  var _api = require("@webiny/api");
21
-
22
14
  var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
23
-
24
15
  var _checkOwnPermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkOwnPermissions"));
25
-
26
16
  var _handlerGraphql = require("@webiny/handler-graphql");
27
-
28
17
  var _types = require("../../types");
29
-
30
18
  var _error = _interopRequireDefault(require("@webiny/error"));
31
-
32
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
-
34
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
-
36
- const validStatus = `${_types.PageImportExportTaskStatus.PENDING}:${_types.PageImportExportTaskStatus.PROCESSING}:${_types.PageImportExportTaskStatus.COMPLETED}:${_types.PageImportExportTaskStatus.FAILED}`;
19
+ /**
20
+ * Package mdbid does not have types.
21
+ */
22
+ // @ts-ignore
23
+
24
+ /**
25
+ * Package @commodo/fields does not have types.
26
+ */
27
+ // @ts-ignore
28
+
29
+ /**
30
+ * Package commodo-fields-object does not have types.
31
+ */
32
+ // @ts-ignore
33
+
34
+ const validStatus = `${_types.ImportExportTaskStatus.PENDING}:${_types.ImportExportTaskStatus.PROCESSING}:${_types.ImportExportTaskStatus.COMPLETED}:${_types.ImportExportTaskStatus.FAILED}`;
37
35
  const CreateDataModel = (0, _fields.withFields)({
38
36
  status: (0, _fields.string)({
39
37
  validation: _validation.validation.create(`required,in:${validStatus}`)
@@ -53,7 +51,6 @@ const UpdateDataModel = (0, _fields.withFields)({
53
51
  error: (0, _commodoFieldsObject.object)()
54
52
  })();
55
53
  const PERMISSION_NAME = "pb.page";
56
-
57
54
  var _default = ({
58
55
  storageOperations
59
56
  }) => new _api.ContextPlugin(async context => {
@@ -61,24 +58,20 @@ var _default = ({
61
58
  * If pageBuilder is not defined on the context, do not continue, but log it.
62
59
  */
63
60
  if (!context.pageBuilder) {
64
- console.log("Missing pageBuilder on context. Skipping Page ImportExportTasks crud.");
61
+ console.log("Missing pageBuilder on context. Skipping ImportExportTasks crud.");
65
62
  return;
66
63
  }
67
-
68
64
  const getLocale = () => {
69
65
  const locale = context.i18n.getContentLocale();
70
-
71
66
  if (!locale) {
72
- throw new _error.default("Missing content locale in pageImportExportTasks.crud.ts", "LOCALE_ERROR");
67
+ throw new _error.default("Missing content locale in importExportTasks.crud.ts", "LOCALE_ERROR");
73
68
  }
74
-
75
69
  return locale;
76
- }; // Modify context
77
-
70
+ };
78
71
 
79
- context.pageBuilder.pageImportExportTask = {
72
+ // Modify context
73
+ context.pageBuilder.importExportTask = {
80
74
  storageOperations,
81
-
82
75
  async getTask(id) {
83
76
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
84
77
  rwd: "r"
@@ -92,25 +85,21 @@ var _default = ({
92
85
  id
93
86
  }
94
87
  };
95
- let pageImportExportTask = null;
96
-
88
+ let importExportTask = null;
97
89
  try {
98
- pageImportExportTask = await storageOperations.getTask(params);
99
-
100
- if (!pageImportExportTask) {
90
+ importExportTask = await storageOperations.getTask(params);
91
+ if (!importExportTask) {
101
92
  return null;
102
93
  }
103
94
  } catch (ex) {
104
- throw new _error.default(ex.message || "Could not get pageImportExportTask by id.", ex.code || "GET_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
95
+ 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 || {}), {}, {
105
96
  params
106
97
  }));
107
98
  }
108
-
109
99
  const identity = context.security.getIdentity();
110
- (0, _checkOwnPermissions.default)(identity, permission, pageImportExportTask);
111
- return pageImportExportTask;
100
+ (0, _checkOwnPermissions.default)(identity, permission, importExportTask);
101
+ return importExportTask;
112
102
  },
113
-
114
103
  async listTasks(params) {
115
104
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
116
105
  rwd: "r"
@@ -128,23 +117,22 @@ var _default = ({
128
117
  },
129
118
  sort: Array.isArray(sort) && sort.length > 0 ? sort : ["createdOn_ASC"],
130
119
  limit: limit
131
- }; // If user can only manage own records, let's add that to the listing.
120
+ };
132
121
 
122
+ // If user can only manage own records, let's add that to the listing.
133
123
  if (permission.own) {
134
124
  const identity = context.security.getIdentity();
135
125
  listParams.where.createdBy = identity.id;
136
126
  }
137
-
138
127
  try {
139
128
  const [items] = await storageOperations.listTasks(listParams);
140
129
  return items;
141
130
  } catch (ex) {
142
- throw new _error.default(ex.message || "Could not list all page elements.", ex.code || "LIST_PAGE_ELEMENTS_ERROR", {
131
+ throw new _error.default(ex.message || "Could not list all importExportTask.", ex.code || "LIST_ELEMENTS_ERROR", {
143
132
  params
144
133
  });
145
134
  }
146
135
  },
147
-
148
136
  async createTask(input) {
149
137
  await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
150
138
  rwd: "w"
@@ -154,8 +142,7 @@ var _default = ({
154
142
  const id = (0, _mdbid.default)();
155
143
  const identity = context.security.getIdentity();
156
144
  const data = await createDataModel.toJSON();
157
-
158
- const pageImportExportTask = _objectSpread(_objectSpread({}, data), {}, {
145
+ const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
159
146
  tenant: context.tenancy.getCurrentTenant().id,
160
147
  locale: getLocale().code,
161
148
  id,
@@ -166,29 +153,25 @@ var _default = ({
166
153
  displayName: identity.displayName
167
154
  }
168
155
  });
169
-
170
156
  try {
171
157
  return await storageOperations.createTask({
172
158
  input: data,
173
- task: pageImportExportTask
159
+ task: importExportTask
174
160
  });
175
161
  } catch (ex) {
176
- throw new _error.default(ex.message || "Could not create pageImportExportTask.", ex.code || "CREATE_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
177
- pageImportExportTask
162
+ 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 || {}), {}, {
163
+ importExportTask
178
164
  }));
179
165
  }
180
166
  },
181
-
182
167
  async updateTask(id, input) {
183
168
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
184
169
  rwd: "w"
185
170
  });
186
- const original = await context.pageBuilder.pageImportExportTask.getTask(id);
187
-
171
+ const original = await context.pageBuilder.importExportTask.getTask(id);
188
172
  if (!original) {
189
- throw new _handlerGraphql.NotFoundError(`PageImportExportTask "${id}" not found.`);
173
+ throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
190
174
  }
191
-
192
175
  const identity = context.security.getIdentity();
193
176
  (0, _checkOwnPermissions.default)(identity, permission, original);
194
177
  const updateDataModel = new UpdateDataModel().populate(input);
@@ -196,72 +179,61 @@ var _default = ({
196
179
  const data = await updateDataModel.toJSON({
197
180
  onlyDirty: true
198
181
  });
199
-
200
- const pageImportExportTask = _objectSpread(_objectSpread({}, original), data);
201
-
182
+ const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
202
183
  try {
203
184
  return await storageOperations.updateTask({
204
185
  input: data,
205
186
  original,
206
- task: pageImportExportTask
187
+ task: importExportTask
207
188
  });
208
189
  } catch (ex) {
209
- throw new _error.default(ex.message || "Could not update pageImportExportTask.", ex.code || "UPDATE_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
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 || {}), {}, {
210
191
  original,
211
- pageImportExportTask
192
+ importExportTask
212
193
  }));
213
194
  }
214
195
  },
215
-
216
196
  async deleteTask(id) {
217
197
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
218
198
  rwd: "d"
219
199
  });
220
- const pageImportExportTask = await context.pageBuilder.pageImportExportTask.getTask(id);
221
-
222
- if (!pageImportExportTask) {
223
- throw new _handlerGraphql.NotFoundError(`PageImportExportTask "${id}" not found.`);
200
+ const importExportTask = await context.pageBuilder.importExportTask.getTask(id);
201
+ if (!importExportTask) {
202
+ throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
224
203
  }
225
-
226
204
  const identity = context.security.getIdentity();
227
- (0, _checkOwnPermissions.default)(identity, permission, pageImportExportTask);
228
-
205
+ (0, _checkOwnPermissions.default)(identity, permission, importExportTask);
229
206
  try {
230
207
  return await storageOperations.deleteTask({
231
- task: pageImportExportTask
208
+ task: importExportTask
232
209
  });
233
210
  } catch (ex) {
234
- throw new _error.default(ex.message || "Could not delete pageImportExportTask.", ex.code || "DELETE_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
235
- pageImportExportTask
211
+ 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 || {}), {}, {
212
+ importExportTask
236
213
  }));
237
214
  }
238
215
  },
239
-
240
216
  async updateStats(id, input) {
241
217
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
242
218
  rwd: "w"
243
219
  });
244
- const original = await context.pageBuilder.pageImportExportTask.getTask(id);
245
-
220
+ const original = await context.pageBuilder.importExportTask.getTask(id);
246
221
  if (!original) {
247
- throw new _handlerGraphql.NotFoundError(`PageImportExportTask "${id}" not found.`);
222
+ throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
248
223
  }
249
-
250
224
  const identity = context.security.getIdentity();
251
225
  (0, _checkOwnPermissions.default)(identity, permission, original);
252
-
253
226
  try {
254
227
  return await storageOperations.updateTaskStats({
255
228
  input,
256
229
  original
257
230
  });
258
231
  } catch (ex) {
259
- throw new _error.default(ex.message || "Could not update pageImportExportTask.", ex.code || "UPDATE_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
232
+ 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 || {}), {}, {
260
233
  original
261
234
  }));
262
235
  }
263
236
  },
264
-
265
237
  async createSubTask(parent, id, input) {
266
238
  await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
267
239
  rwd: "w"
@@ -270,8 +242,7 @@ var _default = ({
270
242
  await createDataModel.validate();
271
243
  const identity = context.security.getIdentity();
272
244
  const data = await createDataModel.toJSON();
273
-
274
- const pageImportExportSubTask = _objectSpread(_objectSpread({}, data), {}, {
245
+ const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
275
246
  tenant: context.tenancy.getCurrentTenant().id,
276
247
  locale: getLocale().code,
277
248
  id: id,
@@ -283,53 +254,47 @@ var _default = ({
283
254
  displayName: identity.displayName
284
255
  }
285
256
  });
286
-
287
257
  try {
288
258
  return await storageOperations.createSubTask({
289
259
  input: data,
290
- subTask: pageImportExportSubTask
260
+ subTask: importExportSubTask
291
261
  });
292
262
  } catch (ex) {
293
- throw new _error.default(ex.message || "Could not create pageImportExportSubTask.", ex.code || "CREATE_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
294
- pageImportExportSubTask
263
+ 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 || {}), {}, {
264
+ importExportSubTask
295
265
  }));
296
266
  }
297
267
  },
298
-
299
268
  async updateSubTask(parent, subTaskId, input) {
300
269
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
301
270
  rwd: "w"
302
271
  });
303
- const original = await context.pageBuilder.pageImportExportTask.getSubTask(parent, subTaskId);
304
-
272
+ const original = await context.pageBuilder.importExportTask.getSubTask(parent, subTaskId);
305
273
  if (!original) {
306
- throw new _handlerGraphql.NotFoundError(`PageImportExportTask parent: "${parent}" and id: "${subTaskId}" not found.`);
274
+ throw new _handlerGraphql.NotFoundError(`ImportExportTask parent: "${parent}" and id: "${subTaskId}" not found.`);
307
275
  }
308
-
309
276
  const identity = context.security.getIdentity();
310
277
  (0, _checkOwnPermissions.default)(identity, permission, original);
311
278
  const updateDataModel = new UpdateDataModel().populate(input);
312
279
  await updateDataModel.validate();
313
280
  const data = await updateDataModel.toJSON({
314
281
  onlyDirty: true
315
- }); // TODO: Merge recursively
316
-
317
- const pageImportExportSubTask = _objectSpread(_objectSpread({}, original), data);
318
-
282
+ });
283
+ // TODO: Merge recursively
284
+ const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
319
285
  try {
320
286
  return await storageOperations.updateSubTask({
321
287
  input: data,
322
288
  original,
323
- subTask: pageImportExportSubTask
289
+ subTask: importExportSubTask
324
290
  });
325
291
  } catch (ex) {
326
- throw new _error.default(ex.message || "Could not update pageImportExportSubTask.", ex.code || "UPDATE_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
327
- pageImportExportSubTask,
292
+ 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 || {}), {}, {
293
+ importExportSubTask,
328
294
  original
329
295
  }));
330
296
  }
331
297
  },
332
-
333
298
  async getSubTask(parent, subTaskId) {
334
299
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
335
300
  rwd: "r"
@@ -344,25 +309,21 @@ var _default = ({
344
309
  parent: parent
345
310
  }
346
311
  };
347
- let pageImportExportSubTask = null;
348
-
312
+ let importExportSubTask = null;
349
313
  try {
350
- pageImportExportSubTask = await storageOperations.getSubTask(params);
351
-
352
- if (!pageImportExportSubTask) {
314
+ importExportSubTask = await storageOperations.getSubTask(params);
315
+ if (!importExportSubTask) {
353
316
  return null;
354
317
  }
355
318
  } catch (ex) {
356
- throw new _error.default(ex.message || "Could not get pageImportExportSubTask by id.", ex.code || "GET_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
319
+ 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 || {}), {}, {
357
320
  params
358
321
  }));
359
322
  }
360
-
361
323
  const identity = context.security.getIdentity();
362
- (0, _checkOwnPermissions.default)(identity, permission, pageImportExportSubTask);
363
- return pageImportExportSubTask;
324
+ (0, _checkOwnPermissions.default)(identity, permission, importExportSubTask);
325
+ return importExportSubTask;
364
326
  },
365
-
366
327
  async listSubTasks(parent, status, limit) {
367
328
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
368
329
  rwd: "r"
@@ -377,18 +338,18 @@ var _default = ({
377
338
  status
378
339
  },
379
340
  limit
380
- }; // If user can only manage own records, let's add that to the listing.
341
+ };
381
342
 
343
+ // If user can only manage own records, let's add that to the listing.
382
344
  if (permission.own) {
383
345
  const identity = context.security.getIdentity();
384
346
  listParams.where.createdBy = identity.id;
385
347
  }
386
-
387
348
  try {
388
349
  const [items] = await storageOperations.listSubTasks(listParams);
389
350
  return items;
390
351
  } catch (ex) {
391
- throw new _error.default(ex.message || "Could not list all pageImportExportSubTask.", ex.code || "LIST_PAGE_IMPORT_EXPORT_TASK_ERROR", {
352
+ throw new _error.default(ex.message || "Could not list all importExportSubTask.", ex.code || "LIST_IMPORT_EXPORT_TASK_ERROR", {
392
353
  params: {
393
354
  parent,
394
355
  status,
@@ -397,8 +358,6 @@ var _default = ({
397
358
  });
398
359
  }
399
360
  }
400
-
401
361
  };
402
362
  });
403
-
404
363
  exports.default = _default;