@webiny/api-page-builder-import-export 5.34.8 → 5.35.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/client.js +2 -6
  2. package/client.js.map +1 -1
  3. package/export/combine/blocksHandler.js +11 -18
  4. package/export/combine/blocksHandler.js.map +1 -1
  5. package/export/combine/formsHandler.d.ts +6 -0
  6. package/export/combine/formsHandler.js +99 -0
  7. package/export/combine/formsHandler.js.map +1 -0
  8. package/export/combine/index.js +19 -9
  9. package/export/combine/index.js.map +1 -1
  10. package/export/combine/pagesHandler.js +11 -18
  11. package/export/combine/pagesHandler.js.map +1 -1
  12. package/export/combine/templatesHandler.d.ts +6 -0
  13. package/export/combine/templatesHandler.js +99 -0
  14. package/export/combine/templatesHandler.js.map +1 -0
  15. package/export/process/blocksHandler.js +18 -32
  16. package/export/process/blocksHandler.js.map +1 -1
  17. package/export/process/formsHandler.d.ts +6 -0
  18. package/export/process/formsHandler.js +187 -0
  19. package/export/process/formsHandler.js.map +1 -0
  20. package/export/process/index.js +19 -9
  21. package/export/process/index.js.map +1 -1
  22. package/export/process/pagesHandler.js +19 -34
  23. package/export/process/pagesHandler.js.map +1 -1
  24. package/export/process/templatesHandler.d.ts +6 -0
  25. package/export/process/templatesHandler.js +166 -0
  26. package/export/process/templatesHandler.js.map +1 -0
  27. package/export/s3Stream.d.ts +5 -2
  28. package/export/s3Stream.js +1 -20
  29. package/export/s3Stream.js.map +1 -1
  30. package/export/utils.d.ts +14 -1
  31. package/export/utils.js +88 -35
  32. package/export/utils.js.map +1 -1
  33. package/export/zipper.js +31 -43
  34. package/export/zipper.js.map +1 -1
  35. package/graphql/crud/blocks.crud.js +20 -39
  36. package/graphql/crud/blocks.crud.js.map +1 -1
  37. package/graphql/crud/forms.crud.d.ts +4 -0
  38. package/graphql/crud/forms.crud.js +129 -0
  39. package/graphql/crud/forms.crud.js.map +1 -0
  40. package/graphql/crud/importExportTasks.crud.js +9 -57
  41. package/graphql/crud/importExportTasks.crud.js.map +1 -1
  42. package/graphql/crud/pages.crud.js +25 -41
  43. package/graphql/crud/pages.crud.js.map +1 -1
  44. package/graphql/crud/templates.crud.d.ts +4 -0
  45. package/graphql/crud/templates.crud.js +124 -0
  46. package/graphql/crud/templates.crud.js.map +1 -0
  47. package/graphql/crud.js +3 -7
  48. package/graphql/crud.js.map +1 -1
  49. package/graphql/graphql/blocks.gql.js +1 -6
  50. package/graphql/graphql/blocks.gql.js.map +1 -1
  51. package/graphql/graphql/forms.gql.d.ts +4 -0
  52. package/graphql/graphql/forms.gql.js +60 -0
  53. package/graphql/graphql/forms.gql.js.map +1 -0
  54. package/graphql/graphql/importExportTasks.gql.js +1 -6
  55. package/graphql/graphql/importExportTasks.gql.js.map +1 -1
  56. package/graphql/graphql/pages.gql.js +2 -7
  57. package/graphql/graphql/pages.gql.js.map +1 -1
  58. package/graphql/graphql/templates.gql.d.ts +4 -0
  59. package/graphql/graphql/templates.gql.js +52 -0
  60. package/graphql/graphql/templates.gql.js.map +1 -0
  61. package/graphql/graphql/utils/resolve.d.ts +1 -1
  62. package/graphql/graphql/utils/resolve.js +0 -3
  63. package/graphql/graphql/utils/resolve.js.map +1 -1
  64. package/graphql/graphql.js +3 -6
  65. package/graphql/graphql.js.map +1 -1
  66. package/graphql/index.js +0 -5
  67. package/graphql/index.js.map +1 -1
  68. package/graphql/types.d.ts +40 -0
  69. package/graphql/types.js.map +1 -1
  70. package/import/constants.d.ts +3 -0
  71. package/import/constants.js +14 -0
  72. package/import/constants.js.map +1 -0
  73. package/import/create/blocksHandler.js +11 -20
  74. package/import/create/blocksHandler.js.map +1 -1
  75. package/import/create/formsHandler.d.ts +3 -0
  76. package/import/create/formsHandler.js +103 -0
  77. package/import/create/formsHandler.js.map +1 -0
  78. package/import/create/index.d.ts +2 -1
  79. package/import/create/index.js +19 -9
  80. package/import/create/index.js.map +1 -1
  81. package/import/create/pagesHandler.js +13 -20
  82. package/import/create/pagesHandler.js.map +1 -1
  83. package/import/create/templatesHandler.d.ts +3 -0
  84. package/import/create/templatesHandler.js +99 -0
  85. package/import/create/templatesHandler.js.map +1 -0
  86. package/import/process/blocks/blocksHandler.d.ts +3 -0
  87. package/import/process/blocks/blocksHandler.js +169 -0
  88. package/import/process/blocks/blocksHandler.js.map +1 -0
  89. package/import/process/blocks/importBlock.d.ts +11 -0
  90. package/import/process/blocks/importBlock.js +92 -0
  91. package/import/process/blocks/importBlock.js.map +1 -0
  92. package/import/process/forms/formsHandler.d.ts +3 -0
  93. package/import/process/forms/formsHandler.js +176 -0
  94. package/import/process/forms/formsHandler.js.map +1 -0
  95. package/import/process/forms/importForm.d.ts +9 -0
  96. package/import/process/forms/importForm.js +43 -0
  97. package/import/process/forms/importForm.js.map +1 -0
  98. package/import/process/index.d.ts +1 -0
  99. package/import/process/index.js +21 -11
  100. package/import/process/index.js.map +1 -1
  101. package/import/process/pages/importPage.d.ts +11 -0
  102. package/import/process/pages/importPage.js +92 -0
  103. package/import/process/pages/importPage.js.map +1 -0
  104. package/import/process/pages/pagesHandler.d.ts +3 -0
  105. package/import/process/pages/pagesHandler.js +183 -0
  106. package/import/process/pages/pagesHandler.js.map +1 -0
  107. package/import/process/templates/importTemplate.d.ts +11 -0
  108. package/import/process/templates/importTemplate.js +66 -0
  109. package/import/process/templates/importTemplate.js.map +1 -0
  110. package/import/process/templates/templatesHandler.d.ts +3 -0
  111. package/import/process/templates/templatesHandler.js +170 -0
  112. package/import/process/templates/templatesHandler.js.map +1 -0
  113. package/import/utils/deleteS3Folder.d.ts +1 -0
  114. package/import/utils/deleteS3Folder.js +19 -0
  115. package/import/utils/deleteS3Folder.js.map +1 -0
  116. package/import/utils/extractAndUploadZipFileContents.d.ts +7 -0
  117. package/import/utils/extractAndUploadZipFileContents.js +122 -0
  118. package/import/utils/extractAndUploadZipFileContents.js.map +1 -0
  119. package/import/utils/extractZipAndUploadToS3.d.ts +2 -0
  120. package/import/utils/extractZipAndUploadToS3.js +98 -0
  121. package/import/utils/extractZipAndUploadToS3.js.map +1 -0
  122. package/import/utils/getFileNameWithoutExt.d.ts +1 -0
  123. package/import/utils/getFileNameWithoutExt.js +11 -0
  124. package/import/utils/getFileNameWithoutExt.js.map +1 -0
  125. package/import/utils/index.d.ts +9 -0
  126. package/import/utils/index.js +104 -0
  127. package/import/utils/index.js.map +1 -0
  128. package/import/utils/initialStats.d.ts +7 -0
  129. package/import/utils/initialStats.js +16 -0
  130. package/import/utils/initialStats.js.map +1 -0
  131. package/import/utils/prepareDataDirMap.d.ts +6 -0
  132. package/import/utils/prepareDataDirMap.js +29 -0
  133. package/import/utils/prepareDataDirMap.js.map +1 -0
  134. package/import/utils/updateFilesInData.d.ts +8 -0
  135. package/import/utils/updateFilesInData.js +48 -0
  136. package/import/utils/updateFilesInData.js.map +1 -0
  137. package/import/utils/uploadAssets.d.ts +10 -0
  138. package/import/utils/uploadAssets.js +51 -0
  139. package/import/utils/uploadAssets.js.map +1 -0
  140. package/import/utils/uploadFilesFromS3.d.ts +3 -0
  141. package/import/utils/uploadFilesFromS3.js +19 -0
  142. package/import/utils/uploadFilesFromS3.js.map +1 -0
  143. package/mockSecurity.js +0 -2
  144. package/mockSecurity.js.map +1 -1
  145. package/package.json +25 -24
  146. package/types.d.ts +21 -0
  147. package/types.js +0 -5
  148. package/types.js.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["EXPORT_FORMS_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_FORMS_CREATE_HANDLER","IMPORT_CREATE_HANDLER","ContextPlugin","context","waitFor","importExportCrud","importForms","zipFileUrl","checkBaseFormPermissions","rwd","task","pageBuilder","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","security","getIdentity","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 { checkBaseFormPermissions } from \"@webiny/api-form-builder/plugins/crud/utils\";\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\";\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 context.waitFor(\"formBuilder\", () => {\n const importExportCrud: FormsImportExportCrud = {\n async importForms({ zipFileUrl }) {\n await checkBaseFormPermissions(context, {\n rwd: \"w\"\n });\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 checkBaseFormPermissions(context, {\n rwd: \"w\"\n });\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,34 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
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
19
  /**
33
20
  * Package mdbid does not have types.
34
21
  */
@@ -43,6 +30,7 @@ var _error = _interopRequireDefault(require("@webiny/error"));
43
30
  * Package commodo-fields-object does not have types.
44
31
  */
45
32
  // @ts-ignore
33
+
46
34
  const validStatus = `${_types.ImportExportTaskStatus.PENDING}:${_types.ImportExportTaskStatus.PROCESSING}:${_types.ImportExportTaskStatus.COMPLETED}:${_types.ImportExportTaskStatus.FAILED}`;
47
35
  const CreateDataModel = (0, _fields.withFields)({
48
36
  status: (0, _fields.string)({
@@ -63,7 +51,6 @@ const UpdateDataModel = (0, _fields.withFields)({
63
51
  error: (0, _commodoFieldsObject.object)()
64
52
  })();
65
53
  const PERMISSION_NAME = "pb.page";
66
-
67
54
  var _default = ({
68
55
  storageOperations
69
56
  }) => new _api.ContextPlugin(async context => {
@@ -74,21 +61,17 @@ var _default = ({
74
61
  console.log("Missing pageBuilder on context. Skipping ImportExportTasks crud.");
75
62
  return;
76
63
  }
77
-
78
64
  const getLocale = () => {
79
65
  const locale = context.i18n.getContentLocale();
80
-
81
66
  if (!locale) {
82
67
  throw new _error.default("Missing content locale in importExportTasks.crud.ts", "LOCALE_ERROR");
83
68
  }
84
-
85
69
  return locale;
86
- }; // Modify context
87
-
70
+ };
88
71
 
72
+ // Modify context
89
73
  context.pageBuilder.importExportTask = {
90
74
  storageOperations,
91
-
92
75
  async getTask(id) {
93
76
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
94
77
  rwd: "r"
@@ -103,10 +86,8 @@ var _default = ({
103
86
  }
104
87
  };
105
88
  let importExportTask = null;
106
-
107
89
  try {
108
90
  importExportTask = await storageOperations.getTask(params);
109
-
110
91
  if (!importExportTask) {
111
92
  return null;
112
93
  }
@@ -115,12 +96,10 @@ var _default = ({
115
96
  params
116
97
  }));
117
98
  }
118
-
119
99
  const identity = context.security.getIdentity();
120
100
  (0, _checkOwnPermissions.default)(identity, permission, importExportTask);
121
101
  return importExportTask;
122
102
  },
123
-
124
103
  async listTasks(params) {
125
104
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
126
105
  rwd: "r"
@@ -138,13 +117,13 @@ var _default = ({
138
117
  },
139
118
  sort: Array.isArray(sort) && sort.length > 0 ? sort : ["createdOn_ASC"],
140
119
  limit: limit
141
- }; // If user can only manage own records, let's add that to the listing.
120
+ };
142
121
 
122
+ // If user can only manage own records, let's add that to the listing.
143
123
  if (permission.own) {
144
124
  const identity = context.security.getIdentity();
145
125
  listParams.where.createdBy = identity.id;
146
126
  }
147
-
148
127
  try {
149
128
  const [items] = await storageOperations.listTasks(listParams);
150
129
  return items;
@@ -154,7 +133,6 @@ var _default = ({
154
133
  });
155
134
  }
156
135
  },
157
-
158
136
  async createTask(input) {
159
137
  await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
160
138
  rwd: "w"
@@ -175,7 +153,6 @@ var _default = ({
175
153
  displayName: identity.displayName
176
154
  }
177
155
  });
178
-
179
156
  try {
180
157
  return await storageOperations.createTask({
181
158
  input: data,
@@ -187,17 +164,14 @@ var _default = ({
187
164
  }));
188
165
  }
189
166
  },
190
-
191
167
  async updateTask(id, input) {
192
168
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
193
169
  rwd: "w"
194
170
  });
195
171
  const original = await context.pageBuilder.importExportTask.getTask(id);
196
-
197
172
  if (!original) {
198
173
  throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
199
174
  }
200
-
201
175
  const identity = context.security.getIdentity();
202
176
  (0, _checkOwnPermissions.default)(identity, permission, original);
203
177
  const updateDataModel = new UpdateDataModel().populate(input);
@@ -206,7 +180,6 @@ var _default = ({
206
180
  onlyDirty: true
207
181
  });
208
182
  const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
209
-
210
183
  try {
211
184
  return await storageOperations.updateTask({
212
185
  input: data,
@@ -220,20 +193,16 @@ var _default = ({
220
193
  }));
221
194
  }
222
195
  },
223
-
224
196
  async deleteTask(id) {
225
197
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
226
198
  rwd: "d"
227
199
  });
228
200
  const importExportTask = await context.pageBuilder.importExportTask.getTask(id);
229
-
230
201
  if (!importExportTask) {
231
202
  throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
232
203
  }
233
-
234
204
  const identity = context.security.getIdentity();
235
205
  (0, _checkOwnPermissions.default)(identity, permission, importExportTask);
236
-
237
206
  try {
238
207
  return await storageOperations.deleteTask({
239
208
  task: importExportTask
@@ -244,20 +213,16 @@ var _default = ({
244
213
  }));
245
214
  }
246
215
  },
247
-
248
216
  async updateStats(id, input) {
249
217
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
250
218
  rwd: "w"
251
219
  });
252
220
  const original = await context.pageBuilder.importExportTask.getTask(id);
253
-
254
221
  if (!original) {
255
222
  throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
256
223
  }
257
-
258
224
  const identity = context.security.getIdentity();
259
225
  (0, _checkOwnPermissions.default)(identity, permission, original);
260
-
261
226
  try {
262
227
  return await storageOperations.updateTaskStats({
263
228
  input,
@@ -269,7 +234,6 @@ var _default = ({
269
234
  }));
270
235
  }
271
236
  },
272
-
273
237
  async createSubTask(parent, id, input) {
274
238
  await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
275
239
  rwd: "w"
@@ -290,7 +254,6 @@ var _default = ({
290
254
  displayName: identity.displayName
291
255
  }
292
256
  });
293
-
294
257
  try {
295
258
  return await storageOperations.createSubTask({
296
259
  input: data,
@@ -302,27 +265,23 @@ var _default = ({
302
265
  }));
303
266
  }
304
267
  },
305
-
306
268
  async updateSubTask(parent, subTaskId, input) {
307
269
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
308
270
  rwd: "w"
309
271
  });
310
272
  const original = await context.pageBuilder.importExportTask.getSubTask(parent, subTaskId);
311
-
312
273
  if (!original) {
313
274
  throw new _handlerGraphql.NotFoundError(`ImportExportTask parent: "${parent}" and id: "${subTaskId}" not found.`);
314
275
  }
315
-
316
276
  const identity = context.security.getIdentity();
317
277
  (0, _checkOwnPermissions.default)(identity, permission, original);
318
278
  const updateDataModel = new UpdateDataModel().populate(input);
319
279
  await updateDataModel.validate();
320
280
  const data = await updateDataModel.toJSON({
321
281
  onlyDirty: true
322
- }); // TODO: Merge recursively
323
-
282
+ });
283
+ // TODO: Merge recursively
324
284
  const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
325
-
326
285
  try {
327
286
  return await storageOperations.updateSubTask({
328
287
  input: data,
@@ -336,7 +295,6 @@ var _default = ({
336
295
  }));
337
296
  }
338
297
  },
339
-
340
298
  async getSubTask(parent, subTaskId) {
341
299
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
342
300
  rwd: "r"
@@ -352,10 +310,8 @@ var _default = ({
352
310
  }
353
311
  };
354
312
  let importExportSubTask = null;
355
-
356
313
  try {
357
314
  importExportSubTask = await storageOperations.getSubTask(params);
358
-
359
315
  if (!importExportSubTask) {
360
316
  return null;
361
317
  }
@@ -364,12 +320,10 @@ var _default = ({
364
320
  params
365
321
  }));
366
322
  }
367
-
368
323
  const identity = context.security.getIdentity();
369
324
  (0, _checkOwnPermissions.default)(identity, permission, importExportSubTask);
370
325
  return importExportSubTask;
371
326
  },
372
-
373
327
  async listSubTasks(parent, status, limit) {
374
328
  const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
375
329
  rwd: "r"
@@ -384,13 +338,13 @@ var _default = ({
384
338
  status
385
339
  },
386
340
  limit
387
- }; // If user can only manage own records, let's add that to the listing.
341
+ };
388
342
 
343
+ // If user can only manage own records, let's add that to the listing.
389
344
  if (permission.own) {
390
345
  const identity = context.security.getIdentity();
391
346
  listParams.where.createdBy = identity.id;
392
347
  }
393
-
394
348
  try {
395
349
  const [items] = await storageOperations.listSubTasks(listParams);
396
350
  return items;
@@ -404,8 +358,6 @@ var _default = ({
404
358
  });
405
359
  }
406
360
  }
407
-
408
361
  };
409
362
  });
410
-
411
363
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["validStatus","ImportExportTaskStatus","PENDING","PROCESSING","COMPLETED","FAILED","CreateDataModel","withFields","status","string","validation","create","data","object","input","stats","error","UpdateDataModel","PERMISSION_NAME","storageOperations","ContextPlugin","context","pageBuilder","console","log","getLocale","locale","i18n","getContentLocale","WebinyError","importExportTask","getTask","id","permission","checkBasePermissions","rwd","tenant","tenancy","getCurrentTenant","params","where","code","ex","message","identity","security","getIdentity","checkOwnPermissions","listTasks","sort","limit","listParams","Array","isArray","length","own","createdBy","items","createTask","createDataModel","populate","validate","mdbid","toJSON","createdOn","Date","toISOString","type","displayName","task","updateTask","original","NotFoundError","updateDataModel","onlyDirty","deleteTask","updateStats","updateTaskStats","createSubTask","parent","importExportSubTask","subTask","updateSubTask","subTaskId","getSubTask","listSubTasks"],"sources":["importExportTasks.crud.ts"],"sourcesContent":["/**\n * Package mdbid does not have types.\n */\n// @ts-ignore\nimport mdbid from \"mdbid\";\n/**\n * Package @commodo/fields does not have types.\n */\n// @ts-ignore\nimport { string, withFields } from \"@commodo/fields\";\n/**\n * Package commodo-fields-object does not have types.\n */\n// @ts-ignore\nimport { object } from \"commodo-fields-object\";\nimport { validation } from \"@webiny/validation\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport checkBasePermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions\";\nimport checkOwnPermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkOwnPermissions\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport {\n ImportExportPluginsParams,\n ImportExportTask,\n ImportExportTaskStatus,\n ImportExportTaskStorageOperationsListSubTaskParams\n} from \"~/types\";\nimport { PbImportExportContext } from \"~/graphql/types\";\nimport WebinyError from \"@webiny/error\";\nimport { PageElementStorageOperationsListParams } from \"@webiny/api-page-builder/types\";\n\nconst validStatus = `${ImportExportTaskStatus.PENDING}:${ImportExportTaskStatus.PROCESSING}:${ImportExportTaskStatus.COMPLETED}:${ImportExportTaskStatus.FAILED}`;\n\nconst CreateDataModel = withFields({\n status: string({\n validation: validation.create(`required,in:${validStatus}`)\n }),\n data: object(),\n input: object(),\n stats: object(),\n error: object()\n})();\n\nconst UpdateDataModel = withFields({\n status: string({\n validation: validation.create(`in:${validStatus}`)\n }),\n data: object(),\n input: object(),\n stats: object(),\n error: object()\n})();\n\nconst PERMISSION_NAME = \"pb.page\";\n\nexport default ({ storageOperations }: ImportExportPluginsParams) =>\n new ContextPlugin<PbImportExportContext>(async context => {\n /**\n * If pageBuilder is not defined on the context, do not continue, but log it.\n */\n if (!context.pageBuilder) {\n console.log(\"Missing pageBuilder on context. Skipping ImportExportTasks crud.\");\n return;\n }\n\n const getLocale = () => {\n const locale = context.i18n.getContentLocale();\n if (!locale) {\n throw new WebinyError(\n \"Missing content locale in importExportTasks.crud.ts\",\n \"LOCALE_ERROR\"\n );\n }\n return locale;\n };\n\n // Modify context\n context.pageBuilder.importExportTask = {\n storageOperations,\n async getTask(id) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const params = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n id\n }\n };\n\n let importExportTask: ImportExportTask | null = null;\n\n try {\n importExportTask = await storageOperations.getTask(params);\n\n if (!importExportTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get importExportTask by id.\",\n ex.code || \"GET_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportTask);\n\n return importExportTask;\n },\n\n async listTasks(params) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const { sort, limit } = params || {};\n\n const listParams: PageElementStorageOperationsListParams = {\n where: {\n tenant: tenant.id,\n locale: locale.code\n },\n sort: Array.isArray(sort) && sort.length > 0 ? sort : [\"createdOn_ASC\"],\n limit: limit\n };\n\n // If user can only manage own records, let's add that to the listing.\n if (permission.own) {\n const identity = context.security.getIdentity();\n listParams.where.createdBy = identity.id;\n }\n\n try {\n const [items] = await storageOperations.listTasks(listParams);\n return items;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list all importExportTask.\",\n ex.code || \"LIST_ELEMENTS_ERROR\",\n {\n params\n }\n );\n }\n },\n\n async createTask(input) {\n await checkBasePermissions(context, PERMISSION_NAME, { rwd: \"w\" });\n\n const createDataModel = new CreateDataModel().populate(input);\n await createDataModel.validate();\n\n const id: string = mdbid();\n const identity = context.security.getIdentity();\n\n const data: ImportExportTask = await createDataModel.toJSON();\n\n const importExportTask: ImportExportTask = {\n ...data,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocale().code,\n id,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n try {\n return await storageOperations.createTask({\n input: data,\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create importExportTask.\",\n ex.code || \"CREATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportTask\n }\n );\n }\n },\n\n async updateTask(id, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n const updateDataModel = new UpdateDataModel().populate(input);\n await updateDataModel.validate();\n\n const data = await updateDataModel.toJSON({ onlyDirty: true });\n\n const importExportTask: ImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateTask({\n input: data,\n original,\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n original,\n importExportTask\n }\n );\n }\n },\n\n async deleteTask(id) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"d\"\n });\n\n const importExportTask = await context.pageBuilder.importExportTask.getTask(id);\n if (!importExportTask) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportTask);\n\n try {\n return await storageOperations.deleteTask({\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete importExportTask.\",\n ex.code || \"DELETE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportTask\n }\n );\n }\n },\n\n async updateStats(id, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n try {\n return await storageOperations.updateTaskStats({\n input,\n original\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n original\n }\n );\n }\n },\n\n async createSubTask(parent, id, input) {\n await checkBasePermissions(context, PERMISSION_NAME, { rwd: \"w\" });\n\n const createDataModel = new CreateDataModel().populate(input);\n await createDataModel.validate();\n\n const identity = context.security.getIdentity();\n\n const data = await createDataModel.toJSON();\n\n const importExportSubTask: ImportExportTask = {\n ...data,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocale().code,\n id: id,\n parent: parent,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n try {\n return await storageOperations.createSubTask({\n input: data,\n subTask: importExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create importExportSubTask.\",\n ex.code || \"CREATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportSubTask\n }\n );\n }\n },\n\n async updateSubTask(parent, subTaskId, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getSubTask(\n parent,\n subTaskId\n );\n if (!original) {\n throw new NotFoundError(\n `ImportExportTask parent: \"${parent}\" and id: \"${subTaskId}\" not found.`\n );\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n const updateDataModel = new UpdateDataModel().populate(input);\n await updateDataModel.validate();\n\n const data = await updateDataModel.toJSON({ onlyDirty: true });\n // TODO: Merge recursively\n const importExportSubTask: ImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateSubTask({\n input: data,\n original,\n subTask: importExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportSubTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportSubTask,\n original\n }\n );\n }\n },\n\n async getSubTask(parent, subTaskId) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const params = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n id: subTaskId,\n parent: parent\n }\n };\n\n let importExportSubTask: ImportExportTask | null = null;\n\n try {\n importExportSubTask = await storageOperations.getSubTask(params);\n if (!importExportSubTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get importExportSubTask by id.\",\n ex.code || \"GET_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportSubTask);\n\n return importExportSubTask;\n },\n\n async listSubTasks(parent, status, limit) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const listParams: ImportExportTaskStorageOperationsListSubTaskParams = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n parent: parent,\n status\n },\n limit\n };\n\n // If user can only manage own records, let's add that to the listing.\n if (permission.own) {\n const identity = context.security.getIdentity();\n listParams.where.createdBy = identity.id;\n }\n\n try {\n const [items] = await storageOperations.listSubTasks(listParams);\n return items;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list all importExportSubTask.\",\n ex.code || \"LIST_IMPORT_EXPORT_TASK_ERROR\",\n {\n params: {\n parent,\n status,\n limit\n }\n }\n );\n }\n }\n };\n });\n"],"mappings":"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"}
1
+ {"version":3,"names":["validStatus","ImportExportTaskStatus","PENDING","PROCESSING","COMPLETED","FAILED","CreateDataModel","withFields","status","string","validation","create","data","object","input","stats","error","UpdateDataModel","PERMISSION_NAME","storageOperations","ContextPlugin","context","pageBuilder","console","log","getLocale","locale","i18n","getContentLocale","WebinyError","importExportTask","getTask","id","permission","checkBasePermissions","rwd","tenant","tenancy","getCurrentTenant","params","where","code","ex","message","identity","security","getIdentity","checkOwnPermissions","listTasks","sort","limit","listParams","Array","isArray","length","own","createdBy","items","createTask","createDataModel","populate","validate","mdbid","toJSON","createdOn","Date","toISOString","type","displayName","task","updateTask","original","NotFoundError","updateDataModel","onlyDirty","deleteTask","updateStats","updateTaskStats","createSubTask","parent","importExportSubTask","subTask","updateSubTask","subTaskId","getSubTask","listSubTasks"],"sources":["importExportTasks.crud.ts"],"sourcesContent":["/**\n * Package mdbid does not have types.\n */\n// @ts-ignore\nimport mdbid from \"mdbid\";\n/**\n * Package @commodo/fields does not have types.\n */\n// @ts-ignore\nimport { string, withFields } from \"@commodo/fields\";\n/**\n * Package commodo-fields-object does not have types.\n */\n// @ts-ignore\nimport { object } from \"commodo-fields-object\";\nimport { validation } from \"@webiny/validation\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport checkBasePermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions\";\nimport checkOwnPermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkOwnPermissions\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport {\n ImportExportPluginsParams,\n ImportExportTask,\n ImportExportTaskStatus,\n ImportExportTaskStorageOperationsListSubTaskParams\n} from \"~/types\";\nimport { PbImportExportContext } from \"~/graphql/types\";\nimport WebinyError from \"@webiny/error\";\nimport { PageElementStorageOperationsListParams } from \"@webiny/api-page-builder/types\";\n\nconst validStatus = `${ImportExportTaskStatus.PENDING}:${ImportExportTaskStatus.PROCESSING}:${ImportExportTaskStatus.COMPLETED}:${ImportExportTaskStatus.FAILED}`;\n\nconst CreateDataModel = withFields({\n status: string({\n validation: validation.create(`required,in:${validStatus}`)\n }),\n data: object(),\n input: object(),\n stats: object(),\n error: object()\n})();\n\nconst UpdateDataModel = withFields({\n status: string({\n validation: validation.create(`in:${validStatus}`)\n }),\n data: object(),\n input: object(),\n stats: object(),\n error: object()\n})();\n\nconst PERMISSION_NAME = \"pb.page\";\n\nexport default ({ storageOperations }: ImportExportPluginsParams) =>\n new ContextPlugin<PbImportExportContext>(async context => {\n /**\n * If pageBuilder is not defined on the context, do not continue, but log it.\n */\n if (!context.pageBuilder) {\n console.log(\"Missing pageBuilder on context. Skipping ImportExportTasks crud.\");\n return;\n }\n\n const getLocale = () => {\n const locale = context.i18n.getContentLocale();\n if (!locale) {\n throw new WebinyError(\n \"Missing content locale in importExportTasks.crud.ts\",\n \"LOCALE_ERROR\"\n );\n }\n return locale;\n };\n\n // Modify context\n context.pageBuilder.importExportTask = {\n storageOperations,\n async getTask(id) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const params = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n id\n }\n };\n\n let importExportTask: ImportExportTask | null = null;\n\n try {\n importExportTask = await storageOperations.getTask(params);\n\n if (!importExportTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get importExportTask by id.\",\n ex.code || \"GET_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportTask);\n\n return importExportTask;\n },\n\n async listTasks(params) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const { sort, limit } = params || {};\n\n const listParams: PageElementStorageOperationsListParams = {\n where: {\n tenant: tenant.id,\n locale: locale.code\n },\n sort: Array.isArray(sort) && sort.length > 0 ? sort : [\"createdOn_ASC\"],\n limit: limit\n };\n\n // If user can only manage own records, let's add that to the listing.\n if (permission.own) {\n const identity = context.security.getIdentity();\n listParams.where.createdBy = identity.id;\n }\n\n try {\n const [items] = await storageOperations.listTasks(listParams);\n return items;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list all importExportTask.\",\n ex.code || \"LIST_ELEMENTS_ERROR\",\n {\n params\n }\n );\n }\n },\n\n async createTask(input) {\n await checkBasePermissions(context, PERMISSION_NAME, { rwd: \"w\" });\n\n const createDataModel = new CreateDataModel().populate(input);\n await createDataModel.validate();\n\n const id: string = mdbid();\n const identity = context.security.getIdentity();\n\n const data: ImportExportTask = await createDataModel.toJSON();\n\n const importExportTask: ImportExportTask = {\n ...data,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocale().code,\n id,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n try {\n return await storageOperations.createTask({\n input: data,\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create importExportTask.\",\n ex.code || \"CREATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportTask\n }\n );\n }\n },\n\n async updateTask(id, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n const updateDataModel = new UpdateDataModel().populate(input);\n await updateDataModel.validate();\n\n const data = await updateDataModel.toJSON({ onlyDirty: true });\n\n const importExportTask: ImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateTask({\n input: data,\n original,\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n original,\n importExportTask\n }\n );\n }\n },\n\n async deleteTask(id) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"d\"\n });\n\n const importExportTask = await context.pageBuilder.importExportTask.getTask(id);\n if (!importExportTask) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportTask);\n\n try {\n return await storageOperations.deleteTask({\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete importExportTask.\",\n ex.code || \"DELETE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportTask\n }\n );\n }\n },\n\n async updateStats(id, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n try {\n return await storageOperations.updateTaskStats({\n input,\n original\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n original\n }\n );\n }\n },\n\n async createSubTask(parent, id, input) {\n await checkBasePermissions(context, PERMISSION_NAME, { rwd: \"w\" });\n\n const createDataModel = new CreateDataModel().populate(input);\n await createDataModel.validate();\n\n const identity = context.security.getIdentity();\n\n const data = await createDataModel.toJSON();\n\n const importExportSubTask: ImportExportTask = {\n ...data,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocale().code,\n id: id,\n parent: parent,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n try {\n return await storageOperations.createSubTask({\n input: data,\n subTask: importExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create importExportSubTask.\",\n ex.code || \"CREATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportSubTask\n }\n );\n }\n },\n\n async updateSubTask(parent, subTaskId, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getSubTask(\n parent,\n subTaskId\n );\n if (!original) {\n throw new NotFoundError(\n `ImportExportTask parent: \"${parent}\" and id: \"${subTaskId}\" not found.`\n );\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n const updateDataModel = new UpdateDataModel().populate(input);\n await updateDataModel.validate();\n\n const data = await updateDataModel.toJSON({ onlyDirty: true });\n // TODO: Merge recursively\n const importExportSubTask: ImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateSubTask({\n input: data,\n original,\n subTask: importExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportSubTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportSubTask,\n original\n }\n );\n }\n },\n\n async getSubTask(parent, subTaskId) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const params = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n id: subTaskId,\n parent: parent\n }\n };\n\n let importExportSubTask: ImportExportTask | null = null;\n\n try {\n importExportSubTask = await storageOperations.getSubTask(params);\n if (!importExportSubTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get importExportSubTask by id.\",\n ex.code || \"GET_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportSubTask);\n\n return importExportSubTask;\n },\n\n async listSubTasks(parent, status, limit) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const listParams: ImportExportTaskStorageOperationsListSubTaskParams = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n parent: parent,\n status\n },\n limit\n };\n\n // If user can only manage own records, let's add that to the listing.\n if (permission.own) {\n const identity = context.security.getIdentity();\n listParams.where.createdBy = identity.id;\n }\n\n try {\n const [items] = await storageOperations.listSubTasks(listParams);\n return items;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list all importExportSubTask.\",\n ex.code || \"LIST_IMPORT_EXPORT_TASK_ERROR\",\n {\n params: {\n parent,\n status,\n limit\n }\n }\n );\n }\n }\n };\n });\n"],"mappings":"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"}
@@ -1,51 +1,40 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _error = _interopRequireDefault(require("@webiny/error"));
11
-
12
9
  var _handlerGraphql = require("@webiny/handler-graphql");
13
-
14
10
  var _api = require("@webiny/api");
15
-
16
11
  var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
17
-
18
12
  var _types = require("../../types");
19
-
20
13
  var _client = require("../../client");
21
-
22
14
  var _utils = require("../../import/utils");
23
-
24
15
  var _utils2 = require("../../export/utils");
25
-
26
16
  var _utils3 = require("@webiny/utils");
27
-
28
17
  const PERMISSION_NAME = "pb.page";
29
18
  const EXPORT_PAGES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
30
19
  const IMPORT_PAGES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
31
-
32
20
  var _default = new _api.ContextPlugin(context => {
33
21
  const importExportCrud = {
34
22
  async importPages({
35
23
  category: categorySlug,
36
- zipFileUrl
24
+ zipFileUrl,
25
+ meta
37
26
  }) {
38
27
  await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
39
28
  rwd: "w"
40
- }); // Bail out early if category not found
29
+ });
41
30
 
31
+ // Bail out early if category not found
42
32
  const category = await context.pageBuilder.getCategory(categorySlug);
43
-
44
33
  if (!category) {
45
34
  throw new _handlerGraphql.NotFoundError(`Category with slug "${categorySlug}" not found.`);
46
- } // Create a task for import page
47
-
35
+ }
48
36
 
37
+ // Create a task for import page
49
38
  const task = await context.pageBuilder.importExportTask.createTask({
50
39
  status: _types.ImportExportTaskStatus.PENDING,
51
40
  input: {
@@ -58,7 +47,6 @@ var _default = new _api.ContextPlugin(context => {
58
47
  * ImportPages
59
48
  * importPages
60
49
  */
61
-
62
50
  await (0, _client.invokeHandlerClient)({
63
51
  context,
64
52
  name: IMPORT_PAGES_CREATE_HANDLER,
@@ -67,7 +55,8 @@ var _default = new _api.ContextPlugin(context => {
67
55
  zipFileUrl,
68
56
  task,
69
57
  type: "page",
70
- identity: context.security.getIdentity()
58
+ identity: context.security.getIdentity(),
59
+ meta
71
60
  },
72
61
  description: "Import Pages - create"
73
62
  });
@@ -75,7 +64,6 @@ var _default = new _api.ContextPlugin(context => {
75
64
  task
76
65
  };
77
66
  },
78
-
79
67
  async exportPages({
80
68
  ids: initialPageIds,
81
69
  revisionType,
@@ -86,8 +74,8 @@ var _default = new _api.ContextPlugin(context => {
86
74
  await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
87
75
  rwd: "w"
88
76
  });
89
- let pageIds = initialPageIds || []; // If no ids are provided then it means we want to export all pages
90
-
77
+ let pageIds = initialPageIds || [];
78
+ // If no ids are provided then it means we want to export all pages
91
79
  if (!initialPageIds || Array.isArray(initialPageIds) && initialPageIds.length === 0) {
92
80
  pageIds = [];
93
81
  let pages = [];
@@ -95,33 +83,32 @@ var _default = new _api.ContextPlugin(context => {
95
83
  hasMoreItems: true,
96
84
  cursor: null,
97
85
  totalCount: 0
98
- }; // Paginate pages
99
-
86
+ };
87
+ // Paginate pages
100
88
  while (meta.hasMoreItems) {
101
89
  [pages, meta] = await context.pageBuilder.listLatestPages({
102
90
  after: meta.cursor,
103
91
  where: where,
104
92
  sort: sort,
105
93
  search: search
106
- }); // Save page ids
107
-
94
+ });
95
+ // Save page ids
108
96
  pages.forEach(page => pageIds.push(page.id));
109
97
  }
110
98
  }
111
-
112
99
  if (pageIds.length === 0) {
113
100
  throw new _error.default("Cannot export pages - no pages found for provided inputs.", "EMPTY_EXPORT_NO_PAGES_FOUND");
114
- } // Create the main task for page export.
115
-
101
+ }
116
102
 
103
+ // Create the main task for page export.
117
104
  const task = await context.pageBuilder.importExportTask.createTask({
118
105
  status: _types.ImportExportTaskStatus.PENDING
119
106
  });
120
- const exportPagesDataKey = `${_utils2.EXPORT_PAGES_FOLDER_KEY}/${task.id}`; // For each page create a sub task and invoke the process handler.
121
-
107
+ const exportPagesDataKey = `${_utils2.EXPORT_PAGES_FOLDER_KEY}/${task.id}`;
108
+ // For each page create a sub task and invoke the process handler.
122
109
  for (let i = 0; i < pageIds.length; i++) {
123
- const pageId = pageIds[i]; // Create sub task.
124
-
110
+ const pageId = pageIds[i];
111
+ // Create sub task.
125
112
  await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
126
113
  status: _types.ImportExportTaskStatus.PENDING,
127
114
  input: {
@@ -130,9 +117,8 @@ var _default = new _api.ContextPlugin(context => {
130
117
  revisionType
131
118
  }
132
119
  });
133
- } // Update main task status.
134
-
135
-
120
+ }
121
+ // Update main task status.
136
122
  await context.pageBuilder.importExportTask.updateTask(task.id, {
137
123
  status: _types.ImportExportTaskStatus.PROCESSING,
138
124
  stats: (0, _utils.initialStats)(pageIds.length),
@@ -141,13 +127,13 @@ var _default = new _api.ContextPlugin(context => {
141
127
  revisionType
142
128
  }
143
129
  });
130
+
144
131
  /**
145
132
  * Export Pages
146
133
  * ExportPages
147
134
  * exportPages
148
135
  */
149
136
  // Invoke handler.
150
-
151
137
  await (0, _client.invokeHandlerClient)({
152
138
  context,
153
139
  name: EXPORT_PAGES_PROCESS_HANDLER,
@@ -163,10 +149,8 @@ var _default = new _api.ContextPlugin(context => {
163
149
  task
164
150
  };
165
151
  }
166
-
167
- }; // Modify context
168
-
152
+ };
153
+ // Modify context
169
154
  context.pageBuilder.pages = importExportCrud;
170
155
  });
171
-
172
156
  exports.default = _default;