@webiny/api-page-builder-import-export 0.0.0-mt-2 → 0.0.0-unstable.1e66d121db

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 (55) hide show
  1. package/{importPages/client.d.ts → client.d.ts} +3 -2
  2. package/client.js +47 -0
  3. package/client.js.map +1 -0
  4. package/exportPages/combine/index.d.ts +7 -11
  5. package/exportPages/combine/index.js +37 -11
  6. package/exportPages/combine/index.js.map +1 -0
  7. package/exportPages/process/index.d.ts +10 -14
  8. package/exportPages/process/index.js +32 -28
  9. package/exportPages/process/index.js.map +1 -0
  10. package/exportPages/s3Stream.d.ts +2 -0
  11. package/exportPages/s3Stream.js +14 -7
  12. package/exportPages/s3Stream.js.map +1 -0
  13. package/exportPages/utils.d.ts +1 -1
  14. package/exportPages/utils.js +2 -2
  15. package/exportPages/utils.js.map +1 -0
  16. package/exportPages/zipper.d.ts +1 -0
  17. package/exportPages/zipper.js +3 -5
  18. package/exportPages/zipper.js.map +1 -0
  19. package/graphql/crud/pageImportExportTasks.crud.d.ts +1 -1
  20. package/graphql/crud/pageImportExportTasks.crud.js +47 -30
  21. package/graphql/crud/pageImportExportTasks.crud.js.map +1 -0
  22. package/graphql/crud/pages.crud.d.ts +1 -1
  23. package/graphql/crud/pages.crud.js +29 -21
  24. package/graphql/crud/pages.crud.js.map +1 -0
  25. package/graphql/crud.d.ts +1 -1
  26. package/graphql/crud.js +1 -1
  27. package/graphql/crud.js.map +1 -0
  28. package/graphql/graphql/pageImportExportTasks.gql.js +1 -1
  29. package/graphql/graphql/pageImportExportTasks.gql.js.map +1 -0
  30. package/graphql/graphql/pages.gql.js +8 -6
  31. package/graphql/graphql/pages.gql.js.map +1 -0
  32. package/graphql/graphql/utils/resolve.d.ts +1 -1
  33. package/graphql/graphql/utils/resolve.js.map +1 -0
  34. package/graphql/graphql.d.ts +1 -1
  35. package/graphql/graphql.js +1 -1
  36. package/graphql/graphql.js.map +1 -0
  37. package/graphql/index.d.ts +1 -1
  38. package/graphql/index.js +1 -1
  39. package/graphql/index.js.map +1 -0
  40. package/graphql/types.d.ts +5 -6
  41. package/graphql/types.js.map +1 -0
  42. package/importPages/create/index.d.ts +11 -16
  43. package/importPages/create/index.js +39 -30
  44. package/importPages/create/index.js.map +1 -0
  45. package/importPages/process/index.d.ts +10 -17
  46. package/importPages/process/index.js +25 -23
  47. package/importPages/process/index.js.map +1 -0
  48. package/importPages/utils.d.ts +17 -10
  49. package/importPages/utils.js +90 -59
  50. package/importPages/utils.js.map +1 -0
  51. package/mockSecurity.js.map +1 -0
  52. package/package.json +36 -34
  53. package/types.d.ts +8 -7
  54. package/types.js.map +1 -0
  55. package/importPages/client.js +0 -40
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
11
 
12
12
  var _mdbid = _interopRequireDefault(require("mdbid"));
13
13
 
@@ -17,7 +17,7 @@ var _commodoFieldsObject = require("commodo-fields-object");
17
17
 
18
18
  var _validation = require("@webiny/validation");
19
19
 
20
- var _ContextPlugin = require("@webiny/handler/plugins/ContextPlugin");
20
+ var _api = require("@webiny/api");
21
21
 
22
22
  var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
23
23
 
@@ -29,10 +29,20 @@ var _types = require("../../types");
29
29
 
30
30
  var _error = _interopRequireDefault(require("@webiny/error"));
31
31
 
32
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
32
+ /**
33
+ * Package mdbid does not have types.
34
+ */
35
+ // @ts-ignore
33
36
 
34
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
37
+ /**
38
+ * Package @commodo/fields does not have types.
39
+ */
40
+ // @ts-ignore
35
41
 
42
+ /**
43
+ * Package commodo-fields-object does not have types.
44
+ */
45
+ // @ts-ignore
36
46
  const validStatus = `${_types.PageImportExportTaskStatus.PENDING}:${_types.PageImportExportTaskStatus.PROCESSING}:${_types.PageImportExportTaskStatus.COMPLETED}:${_types.PageImportExportTaskStatus.FAILED}`;
37
47
  const CreateDataModel = (0, _fields.withFields)({
38
48
  status: (0, _fields.string)({
@@ -56,14 +66,24 @@ const PERMISSION_NAME = "pb.page";
56
66
 
57
67
  var _default = ({
58
68
  storageOperations
59
- }) => new _ContextPlugin.ContextPlugin(async context => {
69
+ }) => new _api.ContextPlugin(async context => {
60
70
  /**
61
71
  * If pageBuilder is not defined on the context, do not continue, but log it.
62
72
  */
63
73
  if (!context.pageBuilder) {
64
74
  console.log("Missing pageBuilder on context. Skipping Page ImportExportTasks crud.");
65
75
  return;
66
- } // Modify context
76
+ }
77
+
78
+ const getLocale = () => {
79
+ const locale = context.i18n.getContentLocale();
80
+
81
+ if (!locale) {
82
+ throw new _error.default("Missing content locale in pageImportExportTasks.crud.ts", "LOCALE_ERROR");
83
+ }
84
+
85
+ return locale;
86
+ }; // Modify context
67
87
 
68
88
 
69
89
  context.pageBuilder.pageImportExportTask = {
@@ -74,7 +94,7 @@ var _default = ({
74
94
  rwd: "r"
75
95
  });
76
96
  const tenant = context.tenancy.getCurrentTenant();
77
- const locale = context.i18nContent.getLocale();
97
+ const locale = getLocale();
78
98
  const params = {
79
99
  where: {
80
100
  tenant: tenant.id,
@@ -82,7 +102,7 @@ var _default = ({
82
102
  id
83
103
  }
84
104
  };
85
- let pageImportExportTask;
105
+ let pageImportExportTask = null;
86
106
 
87
107
  try {
88
108
  pageImportExportTask = await storageOperations.getTask(params);
@@ -91,7 +111,7 @@ var _default = ({
91
111
  return null;
92
112
  }
93
113
  } catch (ex) {
94
- throw new _error.default(ex.message || "Could not get pageImportExportTask by id.", ex.code || "GET_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
114
+ throw new _error.default(ex.message || "Could not get pageImportExportTask by id.", ex.code || "GET_PAGE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
95
115
  params
96
116
  }));
97
117
  }
@@ -106,7 +126,7 @@ var _default = ({
106
126
  rwd: "r"
107
127
  });
108
128
  const tenant = context.tenancy.getCurrentTenant();
109
- const locale = context.i18nContent.getLocale();
129
+ const locale = getLocale();
110
130
  const {
111
131
  sort,
112
132
  limit
@@ -144,10 +164,9 @@ var _default = ({
144
164
  const id = (0, _mdbid.default)();
145
165
  const identity = context.security.getIdentity();
146
166
  const data = await createDataModel.toJSON();
147
-
148
- const pageImportExportTask = _objectSpread(_objectSpread({}, data), {}, {
167
+ const pageImportExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
149
168
  tenant: context.tenancy.getCurrentTenant().id,
150
- locale: context.i18nContent.getLocale().code,
169
+ locale: getLocale().code,
151
170
  id,
152
171
  createdOn: new Date().toISOString(),
153
172
  createdBy: {
@@ -163,7 +182,7 @@ var _default = ({
163
182
  task: pageImportExportTask
164
183
  });
165
184
  } catch (ex) {
166
- throw new _error.default(ex.message || "Could not create pageImportExportTask.", ex.code || "CREATE_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
185
+ throw new _error.default(ex.message || "Could not create pageImportExportTask.", ex.code || "CREATE_PAGE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
167
186
  pageImportExportTask
168
187
  }));
169
188
  }
@@ -186,8 +205,7 @@ var _default = ({
186
205
  const data = await updateDataModel.toJSON({
187
206
  onlyDirty: true
188
207
  });
189
-
190
- const pageImportExportTask = _objectSpread(_objectSpread({}, original), data);
208
+ const pageImportExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
191
209
 
192
210
  try {
193
211
  return await storageOperations.updateTask({
@@ -196,7 +214,7 @@ var _default = ({
196
214
  task: pageImportExportTask
197
215
  });
198
216
  } catch (ex) {
199
- throw new _error.default(ex.message || "Could not update pageImportExportTask.", ex.code || "UPDATE_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
217
+ throw new _error.default(ex.message || "Could not update pageImportExportTask.", ex.code || "UPDATE_PAGE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
200
218
  original,
201
219
  pageImportExportTask
202
220
  }));
@@ -221,7 +239,7 @@ var _default = ({
221
239
  task: pageImportExportTask
222
240
  });
223
241
  } catch (ex) {
224
- throw new _error.default(ex.message || "Could not delete pageImportExportTask.", ex.code || "DELETE_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
242
+ throw new _error.default(ex.message || "Could not delete pageImportExportTask.", ex.code || "DELETE_PAGE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
225
243
  pageImportExportTask
226
244
  }));
227
245
  }
@@ -246,7 +264,7 @@ var _default = ({
246
264
  original
247
265
  });
248
266
  } catch (ex) {
249
- throw new _error.default(ex.message || "Could not update pageImportExportTask.", ex.code || "UPDATE_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
267
+ throw new _error.default(ex.message || "Could not update pageImportExportTask.", ex.code || "UPDATE_PAGE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
250
268
  original
251
269
  }));
252
270
  }
@@ -260,10 +278,9 @@ var _default = ({
260
278
  await createDataModel.validate();
261
279
  const identity = context.security.getIdentity();
262
280
  const data = await createDataModel.toJSON();
263
-
264
- const pageImportExportSubTask = _objectSpread(_objectSpread({}, data), {}, {
281
+ const pageImportExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
265
282
  tenant: context.tenancy.getCurrentTenant().id,
266
- locale: context.i18nContent.getLocale().code,
283
+ locale: getLocale().code,
267
284
  id: id,
268
285
  parent: parent,
269
286
  createdOn: new Date().toISOString(),
@@ -280,7 +297,7 @@ var _default = ({
280
297
  subTask: pageImportExportSubTask
281
298
  });
282
299
  } catch (ex) {
283
- throw new _error.default(ex.message || "Could not create pageImportExportSubTask.", ex.code || "CREATE_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
300
+ throw new _error.default(ex.message || "Could not create pageImportExportSubTask.", ex.code || "CREATE_PAGE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
284
301
  pageImportExportSubTask
285
302
  }));
286
303
  }
@@ -304,7 +321,7 @@ var _default = ({
304
321
  onlyDirty: true
305
322
  }); // TODO: Merge recursively
306
323
 
307
- const pageImportExportSubTask = _objectSpread(_objectSpread({}, original), data);
324
+ const pageImportExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
308
325
 
309
326
  try {
310
327
  return await storageOperations.updateSubTask({
@@ -313,7 +330,7 @@ var _default = ({
313
330
  subTask: pageImportExportSubTask
314
331
  });
315
332
  } catch (ex) {
316
- throw new _error.default(ex.message || "Could not update pageImportExportSubTask.", ex.code || "UPDATE_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
333
+ throw new _error.default(ex.message || "Could not update pageImportExportSubTask.", ex.code || "UPDATE_PAGE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
317
334
  pageImportExportSubTask,
318
335
  original
319
336
  }));
@@ -325,7 +342,7 @@ var _default = ({
325
342
  rwd: "r"
326
343
  });
327
344
  const tenant = context.tenancy.getCurrentTenant();
328
- const locale = context.i18nContent.getLocale();
345
+ const locale = getLocale();
329
346
  const params = {
330
347
  where: {
331
348
  tenant: tenant.id,
@@ -334,7 +351,7 @@ var _default = ({
334
351
  parent: parent
335
352
  }
336
353
  };
337
- let pageImportExportSubTask;
354
+ let pageImportExportSubTask = null;
338
355
 
339
356
  try {
340
357
  pageImportExportSubTask = await storageOperations.getSubTask(params);
@@ -343,7 +360,7 @@ var _default = ({
343
360
  return null;
344
361
  }
345
362
  } catch (ex) {
346
- throw new _error.default(ex.message || "Could not get pageImportExportSubTask by id.", ex.code || "GET_PAGE_IMPORT_EXPORT_TASK_ERROR", _objectSpread(_objectSpread({}, ex.data || {}), {}, {
363
+ throw new _error.default(ex.message || "Could not get pageImportExportSubTask by id.", ex.code || "GET_PAGE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
347
364
  params
348
365
  }));
349
366
  }
@@ -358,7 +375,7 @@ var _default = ({
358
375
  rwd: "r"
359
376
  });
360
377
  const tenant = context.tenancy.getCurrentTenant();
361
- const locale = context.i18nContent.getLocale();
378
+ const locale = getLocale();
362
379
  const listParams = {
363
380
  where: {
364
381
  tenant: tenant.id,
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validStatus","PageImportExportTaskStatus","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","pageImportExportTask","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","pageImportExportSubTask","subTask","updateSubTask","subTaskId","getSubTask","listSubTasks"],"sources":["pageImportExportTasks.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 PageImportExportPluginsParams,\n PageImportExportTask,\n PageImportExportTaskStatus,\n PageImportExportTaskStorageOperationsListSubTaskParams\n} from \"~/types\";\nimport { PbPageImportExportContext } from \"~/graphql/types\";\nimport WebinyError from \"@webiny/error\";\nimport { PageElementStorageOperationsListParams } from \"@webiny/api-page-builder/types\";\n\nconst validStatus = `${PageImportExportTaskStatus.PENDING}:${PageImportExportTaskStatus.PROCESSING}:${PageImportExportTaskStatus.COMPLETED}:${PageImportExportTaskStatus.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 }: PageImportExportPluginsParams) =>\n new ContextPlugin<PbPageImportExportContext>(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 Page 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 pageImportExportTasks.crud.ts\",\n \"LOCALE_ERROR\"\n );\n }\n return locale;\n };\n\n // Modify context\n context.pageBuilder.pageImportExportTask = {\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 pageImportExportTask: PageImportExportTask | null = null;\n\n try {\n pageImportExportTask = await storageOperations.getTask(params);\n\n if (!pageImportExportTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get pageImportExportTask by id.\",\n ex.code || \"GET_PAGE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, pageImportExportTask);\n\n return pageImportExportTask;\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 page elements.\",\n ex.code || \"LIST_PAGE_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: PageImportExportTask = await createDataModel.toJSON();\n\n const pageImportExportTask: PageImportExportTask = {\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: pageImportExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create pageImportExportTask.\",\n ex.code || \"CREATE_PAGE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n pageImportExportTask\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.pageImportExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`PageImportExportTask \"${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 pageImportExportTask: PageImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateTask({\n input: data,\n original,\n task: pageImportExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update pageImportExportTask.\",\n ex.code || \"UPDATE_PAGE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n original,\n pageImportExportTask\n }\n );\n }\n },\n\n async deleteTask(id) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"d\"\n });\n\n const pageImportExportTask = await context.pageBuilder.pageImportExportTask.getTask(\n id\n );\n if (!pageImportExportTask) {\n throw new NotFoundError(`PageImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, pageImportExportTask);\n\n try {\n return await storageOperations.deleteTask({\n task: pageImportExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete pageImportExportTask.\",\n ex.code || \"DELETE_PAGE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n pageImportExportTask\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.pageImportExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`PageImportExportTask \"${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 pageImportExportTask.\",\n ex.code || \"UPDATE_PAGE_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 pageImportExportSubTask: PageImportExportTask = {\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: pageImportExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create pageImportExportSubTask.\",\n ex.code || \"CREATE_PAGE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n pageImportExportSubTask\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.pageImportExportTask.getSubTask(\n parent,\n subTaskId\n );\n if (!original) {\n throw new NotFoundError(\n `PageImportExportTask 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 pageImportExportSubTask: PageImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateSubTask({\n input: data,\n original,\n subTask: pageImportExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update pageImportExportSubTask.\",\n ex.code || \"UPDATE_PAGE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n pageImportExportSubTask,\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 pageImportExportSubTask: PageImportExportTask | null = null;\n\n try {\n pageImportExportSubTask = await storageOperations.getSubTask(params);\n if (!pageImportExportSubTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get pageImportExportSubTask by id.\",\n ex.code || \"GET_PAGE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, pageImportExportSubTask);\n\n return pageImportExportSubTask;\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: PageImportExportTaskStorageOperationsListSubTaskParams = {\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 pageImportExportSubTask.\",\n ex.code || \"LIST_PAGE_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,4 +1,4 @@
1
- import { ContextPlugin } from "@webiny/handler/plugins/ContextPlugin";
1
+ import { ContextPlugin } from "@webiny/api";
2
2
  import { PbPageImportExportContext } from "../../types";
3
3
  declare const _default: ContextPlugin<PbPageImportExportContext>;
4
4
  export default _default;
@@ -1,50 +1,45 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
10
  var _error = _interopRequireDefault(require("@webiny/error"));
13
11
 
14
12
  var _handlerGraphql = require("@webiny/handler-graphql");
15
13
 
16
- var _ContextPlugin = require("@webiny/handler/plugins/ContextPlugin");
14
+ var _api = require("@webiny/api");
17
15
 
18
16
  var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
19
17
 
20
18
  var _types = require("../../types");
21
19
 
22
- var _client = require("../../importPages/client");
20
+ var _client = require("../../client");
23
21
 
24
22
  var _utils = require("../../importPages/utils");
25
23
 
26
24
  var _utils2 = require("../../exportPages/utils");
27
25
 
28
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
29
-
30
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
26
+ var _utils3 = require("@webiny/utils");
31
27
 
32
28
  const PERMISSION_NAME = "pb.page";
33
29
  const EXPORT_PAGES_PROCESS_HANDLER = process.env.EXPORT_PAGES_PROCESS_HANDLER;
34
30
  const IMPORT_PAGES_CREATE_HANDLER = process.env.IMPORT_PAGES_CREATE_HANDLER;
35
31
 
36
- var _default = new _ContextPlugin.ContextPlugin(context => {
32
+ var _default = new _api.ContextPlugin(context => {
37
33
  const importExportCrud = {
38
34
  async importPages({
39
35
  category: categorySlug,
40
- zipFileKey,
41
36
  zipFileUrl
42
37
  }) {
43
38
  await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
44
39
  rwd: "w"
45
40
  }); // Bail out early if category not found
46
41
 
47
- const category = await context.pageBuilder.categories.get(categorySlug);
42
+ const category = await context.pageBuilder.getCategory(categorySlug);
48
43
 
49
44
  if (!category) {
50
45
  throw new _handlerGraphql.NotFoundError(`Category with slug "${categorySlug}" not found.`);
@@ -55,20 +50,25 @@ var _default = new _ContextPlugin.ContextPlugin(context => {
55
50
  status: _types.PageImportExportTaskStatus.PENDING,
56
51
  input: {
57
52
  category: categorySlug,
58
- zipFileKey,
59
53
  zipFileUrl
60
54
  }
61
55
  });
56
+ /**
57
+ * Import Pages
58
+ * ImportPages
59
+ * importPages
60
+ */
61
+
62
62
  await (0, _client.invokeHandlerClient)({
63
63
  context,
64
64
  name: IMPORT_PAGES_CREATE_HANDLER,
65
65
  payload: {
66
66
  category: categorySlug,
67
- zipFileKey,
68
67
  zipFileUrl,
69
68
  task,
70
69
  identity: context.security.getIdentity()
71
- }
70
+ },
71
+ description: "Import Pages - create"
72
72
  });
73
73
  return {
74
74
  task
@@ -85,18 +85,19 @@ var _default = new _ContextPlugin.ContextPlugin(context => {
85
85
  await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
86
86
  rwd: "w"
87
87
  });
88
- let pageIds = initialPageIds; // If no ids are provided then it means we want to export all pages
88
+ let pageIds = initialPageIds || []; // If no ids are provided then it means we want to export all pages
89
89
 
90
90
  if (!initialPageIds || Array.isArray(initialPageIds) && initialPageIds.length === 0) {
91
91
  pageIds = [];
92
92
  let pages = [];
93
93
  let meta = {
94
94
  hasMoreItems: true,
95
- cursor: null
95
+ cursor: null,
96
+ totalCount: 0
96
97
  }; // Paginate pages
97
98
 
98
99
  while (meta.hasMoreItems) {
99
- [pages, meta] = await context.pageBuilder.pages.listLatest({
100
+ [pages, meta] = await context.pageBuilder.listLatestPages({
100
101
  after: meta.cursor,
101
102
  where: where,
102
103
  sort: sort,
@@ -120,7 +121,7 @@ var _default = new _ContextPlugin.ContextPlugin(context => {
120
121
  for (let i = 0; i < pageIds.length; i++) {
121
122
  const pageId = pageIds[i]; // Create sub task.
122
123
 
123
- await context.pageBuilder.pageImportExportTask.createSubTask(task.id, (0, _utils.zeroPad)(i + 1), {
124
+ await context.pageBuilder.pageImportExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
124
125
  status: _types.PageImportExportTaskStatus.PENDING,
125
126
  input: {
126
127
  pageId,
@@ -138,7 +139,13 @@ var _default = new _ContextPlugin.ContextPlugin(context => {
138
139
  exportPagesDataKey,
139
140
  revisionType
140
141
  }
141
- }); // Invoke handler.
142
+ });
143
+ /**
144
+ * Export Pages
145
+ * ExportPages
146
+ * exportPages
147
+ */
148
+ // Invoke handler.
142
149
 
143
150
  await (0, _client.invokeHandlerClient)({
144
151
  context,
@@ -147,7 +154,8 @@ var _default = new _ContextPlugin.ContextPlugin(context => {
147
154
  taskId: task.id,
148
155
  subTaskIndex: 1,
149
156
  identity: context.security.getIdentity()
150
- }
157
+ },
158
+ description: "Export pages - process"
151
159
  });
152
160
  return {
153
161
  task
@@ -156,7 +164,7 @@ var _default = new _ContextPlugin.ContextPlugin(context => {
156
164
 
157
165
  }; // Modify context
158
166
 
159
- context.pageBuilder.pages = _objectSpread(_objectSpread({}, context.pageBuilder.pages), importExportCrud);
167
+ context.pageBuilder.pages = importExportCrud;
160
168
  });
161
169
 
162
170
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PERMISSION_NAME","EXPORT_PAGES_PROCESS_HANDLER","process","env","IMPORT_PAGES_CREATE_HANDLER","ContextPlugin","context","importExportCrud","importPages","category","categorySlug","zipFileUrl","checkBasePermissions","rwd","pageBuilder","getCategory","NotFoundError","task","pageImportExportTask","createTask","status","PageImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","identity","security","getIdentity","description","exportPages","ids","initialPageIds","revisionType","where","sort","search","pageIds","Array","isArray","length","pages","meta","hasMoreItems","cursor","totalCount","listLatestPages","after","forEach","page","push","id","WebinyError","exportPagesDataKey","EXPORT_PAGES_FOLDER_KEY","i","pageId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex"],"sources":["pages.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 {\n PageImportExportTaskStatus,\n PagesImportExportCrud,\n PbPageImportExportContext\n} from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as CreateHandlerPayload } from \"~/importPages/create\";\nimport { initialStats } from \"~/importPages/utils\";\nimport { Payload as ExportPagesProcessHandlerPayload } from \"~/exportPages/process\";\nimport { EXPORT_PAGES_FOLDER_KEY } from \"~/exportPages/utils\";\nimport { MetaResponse } from \"@webiny/api-page-builder/types\";\nimport { zeroPad } from \"@webiny/utils\";\n\nconst PERMISSION_NAME = \"pb.page\";\nconst EXPORT_PAGES_PROCESS_HANDLER = process.env.EXPORT_PAGES_PROCESS_HANDLER as string;\nconst IMPORT_PAGES_CREATE_HANDLER = process.env.IMPORT_PAGES_CREATE_HANDLER as string;\n\nexport default new ContextPlugin<PbPageImportExportContext>(context => {\n const importExportCrud: PagesImportExportCrud = {\n async importPages({ 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.getCategory(categorySlug);\n if (!category) {\n throw new NotFoundError(`Category with slug \"${categorySlug}\" not found.`);\n }\n\n // Create a task for import page\n const task = await context.pageBuilder.pageImportExportTask.createTask({\n status: PageImportExportTaskStatus.PENDING,\n input: {\n category: categorySlug,\n zipFileUrl\n }\n });\n /**\n * Import Pages\n * ImportPages\n * importPages\n */\n await invokeHandlerClient<CreateHandlerPayload>({\n context,\n name: IMPORT_PAGES_CREATE_HANDLER,\n payload: {\n category: categorySlug,\n zipFileUrl,\n task,\n identity: context.security.getIdentity()\n },\n description: \"Import Pages - create\"\n });\n\n return {\n task\n };\n },\n\n async exportPages({ ids: initialPageIds, revisionType, where, sort, search }) {\n await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n let pageIds: string[] = initialPageIds || [];\n // If no ids are provided then it means we want to export all pages\n if (!initialPageIds || (Array.isArray(initialPageIds) && initialPageIds.length === 0)) {\n pageIds = [];\n let pages = [];\n let meta: MetaResponse = {\n hasMoreItems: true,\n cursor: null,\n totalCount: 0\n };\n // Paginate pages\n while (meta.hasMoreItems) {\n [pages, meta] = await context.pageBuilder.listLatestPages({\n after: meta.cursor,\n where: where,\n sort: sort,\n search: search\n });\n // Save page ids\n pages.forEach(page => pageIds.push(page.id));\n }\n }\n\n if (pageIds.length === 0) {\n throw new WebinyError(\n \"Cannot export pages - no pages found for provided inputs.\",\n \"EMPTY_EXPORT_NO_PAGES_FOUND\"\n );\n }\n\n // Create the main task for page export.\n const task = await context.pageBuilder.pageImportExportTask.createTask({\n status: PageImportExportTaskStatus.PENDING\n });\n const exportPagesDataKey = `${EXPORT_PAGES_FOLDER_KEY}/${task.id}`;\n // For each page create a sub task and invoke the process handler.\n for (let i = 0; i < pageIds.length; i++) {\n const pageId = pageIds[i];\n // Create sub task.\n await context.pageBuilder.pageImportExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: PageImportExportTaskStatus.PENDING,\n input: {\n pageId,\n exportPagesDataKey,\n revisionType\n }\n }\n );\n }\n // Update main task status.\n await context.pageBuilder.pageImportExportTask.updateTask(task.id, {\n status: PageImportExportTaskStatus.PROCESSING,\n stats: initialStats(pageIds.length),\n input: {\n exportPagesDataKey,\n revisionType\n }\n });\n\n /**\n * Export Pages\n * ExportPages\n * exportPages\n */\n // Invoke handler.\n await invokeHandlerClient<ExportPagesProcessHandlerPayload>({\n context,\n name: EXPORT_PAGES_PROCESS_HANDLER,\n payload: {\n taskId: task.id,\n subTaskIndex: 1,\n identity: context.security.getIdentity()\n },\n description: \"Export pages - process\"\n });\n\n return { task };\n }\n };\n // Modify context\n context.pageBuilder.pages = importExportCrud;\n});\n"],"mappings":"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"}
package/graphql/crud.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { PageImportExportPluginsParams } from "./types";
2
- declare const _default: (params: PageImportExportPluginsParams) => import("@webiny/handler/plugins/ContextPlugin").ContextPlugin<import("./types").PbPageImportExportContext>[];
2
+ declare const _default: (params: PageImportExportPluginsParams) => import("@webiny/api").ContextPlugin<import("~/graphql/types").PbPageImportExportContext>[];
3
3
  export default _default;
package/graphql/crud.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -0,0 +1 @@
1
+ {"version":3,"names":["params","pages","pageImportExportTask"],"sources":["crud.ts"],"sourcesContent":["import pages from \"./crud/pages.crud\";\nimport pageImportExportTask from \"./crud/pageImportExportTasks.crud\";\nimport { PageImportExportPluginsParams } from \"~/graphql/types\";\n\nexport default (params: PageImportExportPluginsParams) => [pages, pageImportExportTask(params)];\n"],"mappings":";;;;;;;;;AAAA;;AACA;;eAGgBA,MAAD,IAA2C,CAACC,cAAD,EAAQ,IAAAC,8BAAA,EAAqBF,MAArB,CAAR,C"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -0,0 +1 @@
1
+ {"version":3,"names":["plugin","type","schema","typeDefs","resolvers","PbQuery","getPageImportExportTask","_","args","context","resolve","pageBuilder","pageImportExportTask","getTask","id","listPageImportExportSubTask","listSubTasks","status","limit"],"sources":["pageImportExportTasks.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport resolve from \"./utils/resolve\";\nimport { PbPageImportExportContext } from \"../types\";\n\nconst plugin: GraphQLSchemaPlugin<PbPageImportExportContext> = {\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n enum PbPageImportExportTaskStatus {\n pending\n processing\n completed\n failed\n }\n\n type PbPageImportExportTaskStats {\n pending: Int\n processing: Int\n completed: Int\n failed: Int\n total: Int\n }\n\n type PbPageImportExportTask {\n id: ID\n createdOn: DateTime\n createdBy: PbCreatedBy\n status: PbPageImportExportTaskStatus\n data: JSON\n stats: PbPageImportExportTaskStats\n error: JSON\n }\n\n # Response types\n type PbPageImportExportTaskResponse {\n data: PbPageImportExportTask\n error: PbError\n }\n\n type PbPageImportExportTaskListResponse {\n data: [PbPageImportExportTask]\n error: PbError\n }\n\n extend type PbQuery {\n getPageImportExportTask(id: ID!): PbPageImportExportTaskResponse\n listPageImportExportSubTask(\n id: ID!\n status: PbPageImportExportTaskStatus\n limit: Int\n ): PbPageImportExportTaskListResponse\n }\n `,\n resolvers: {\n PbQuery: {\n getPageImportExportTask: async (_, args: any, context) => {\n return resolve(() => {\n return context.pageBuilder.pageImportExportTask.getTask(args.id);\n });\n },\n listPageImportExportSubTask: async (_, args: any, context) => {\n return resolve(() => {\n return context.pageBuilder.pageImportExportTask.listSubTasks(\n args.id,\n args.status,\n args.limit\n );\n });\n }\n }\n }\n }\n};\nexport default plugin;\n"],"mappings":";;;;;;;;;AACA;;AAGA,MAAMA,MAAsD,GAAG;EAC3DC,IAAI,EAAE,gBADqD;EAE3DC,MAAM,EAAE;IACJC,QAAQ;IAAE;IAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SA9CY;IA+CJC,SAAS,EAAE;MACPC,OAAO,EAAE;QACLC,uBAAuB,EAAE,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;UACtD,OAAO,IAAAC,gBAAA,EAAQ,MAAM;YACjB,OAAOD,OAAO,CAACE,WAAR,CAAoBC,oBAApB,CAAyCC,OAAzC,CAAiDL,IAAI,CAACM,EAAtD,CAAP;UACH,CAFM,CAAP;QAGH,CALI;QAMLC,2BAA2B,EAAE,OAAOR,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;UAC1D,OAAO,IAAAC,gBAAA,EAAQ,MAAM;YACjB,OAAOD,OAAO,CAACE,WAAR,CAAoBC,oBAApB,CAAyCI,YAAzC,CACHR,IAAI,CAACM,EADF,EAEHN,IAAI,CAACS,MAFF,EAGHT,IAAI,CAACU,KAHF,CAAP;UAKH,CANM,CAAP;QAOH;MAdI;IADF;EA/CP;AAFmD,CAA/D;eAqEelB,M"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -49,19 +49,21 @@ const plugin = {
49
49
  ): PbExportPageResponse
50
50
 
51
51
  # Import pages
52
- importPages(
53
- category: String!
54
- zipFileKey: String
55
- zipFileUrl: String
56
- ): PbImportPageResponse
52
+ importPages(category: String!, zipFileUrl: String): PbImportPageResponse
57
53
  }
58
54
  `,
59
55
  resolvers: {
60
56
  PbMutation: {
61
57
  exportPages: async (_, args, context) => {
58
+ /**
59
+ * We know that args is ExportPagesParams.
60
+ */
62
61
  return (0, _resolve.default)(() => context.pageBuilder.pages.exportPages(args));
63
62
  },
64
63
  importPages: async (_, args, context) => {
64
+ /**
65
+ * We know that args is ExportPagesParams.
66
+ */
65
67
  return (0, _resolve.default)(() => context.pageBuilder.pages.importPages(args));
66
68
  }
67
69
  }
@@ -0,0 +1 @@
1
+ {"version":3,"names":["plugin","type","schema","typeDefs","resolvers","PbMutation","exportPages","_","args","context","resolve","pageBuilder","pages","importPages"],"sources":["pages.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport { ExportPagesParams, ImportPagesParams } from \"~/types\";\nimport { PbPageImportExportContext } from \"../types\";\nimport resolve from \"./utils/resolve\";\n\nconst plugin: GraphQLSchemaPlugin<PbPageImportExportContext> = {\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n type PbExportPageData {\n task: PbPageImportExportTask\n }\n\n type PbExportPageResponse {\n data: PbExportPageData\n error: PbError\n }\n\n type PbImportPageData {\n task: PbPageImportExportTask\n }\n\n type PbImportPageResponse {\n data: PbImportPageData\n error: PbError\n }\n\n enum PbExportPageRevisionType {\n published\n latest\n }\n\n extend type PbMutation {\n # Export pages\n exportPages(\n ids: [ID!]\n revisionType: PbExportPageRevisionType!\n where: PbListPagesWhereInput\n sort: [PbListPagesSort!]\n search: PbListPagesSearchInput\n ): PbExportPageResponse\n\n # Import pages\n importPages(category: String!, zipFileUrl: String): PbImportPageResponse\n }\n `,\n resolvers: {\n PbMutation: {\n exportPages: async (_, args: any, context) => {\n /**\n * We know that args is ExportPagesParams.\n */\n return resolve(() =>\n context.pageBuilder.pages.exportPages(args as unknown as ExportPagesParams)\n );\n },\n\n importPages: async (_, args: any, context) => {\n /**\n * We know that args is ExportPagesParams.\n */\n return resolve(() =>\n context.pageBuilder.pages.importPages(args as unknown as ImportPagesParams)\n );\n }\n }\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;AAGA;;AAEA,MAAMA,MAAsD,GAAG;EAC3DC,IAAI,EAAE,gBADqD;EAE3DC,MAAM,EAAE;IACJC,QAAQ;IAAE;IAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAtCY;IAuCJC,SAAS,EAAE;MACPC,UAAU,EAAE;QACRC,WAAW,EAAE,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;UAC1C;AACpB;AACA;UACoB,OAAO,IAAAC,gBAAA,EAAQ,MACXD,OAAO,CAACE,WAAR,CAAoBC,KAApB,CAA0BN,WAA1B,CAAsCE,IAAtC,CADG,CAAP;QAGH,CARO;QAURK,WAAW,EAAE,OAAON,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;UAC1C;AACpB;AACA;UACoB,OAAO,IAAAC,gBAAA,EAAQ,MACXD,OAAO,CAACE,WAAR,CAAoBC,KAApB,CAA0BC,WAA1B,CAAsCL,IAAtC,CADG,CAAP;QAGH;MAjBO;IADL;EAvCP;AAFmD,CAA/D;eAiEeR,M"}
@@ -1,3 +1,3 @@
1
1
  import { Response, ErrorResponse } from "@webiny/handler-graphql";
2
- declare const _default: (fn: any) => Promise<ErrorResponse | Response<any>>;
2
+ declare const _default: (fn: () => Promise<any>) => Promise<Response<any> | ErrorResponse>;
3
3
  export default _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["fn","Response","e","ErrorResponse"],"sources":["resolve.ts"],"sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql\";\n\nexport default async (fn: () => Promise<any>) => {\n try {\n return new Response(await fn());\n } catch (e) {\n return new ErrorResponse(e);\n }\n};\n"],"mappings":";;;;;;;AAAA;;eAEe,MAAOA,EAAP,IAAkC;EAC7C,IAAI;IACA,OAAO,IAAIC,wBAAJ,CAAa,MAAMD,EAAE,EAArB,CAAP;EACH,CAFD,CAEE,OAAOE,CAAP,EAAU;IACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;EACH;AACJ,C"}
@@ -1,3 +1,3 @@
1
1
  import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/types";
2
- declare const _default: GraphQLSchemaPlugin<import("@webiny/handler/types").ContextInterface>[];
2
+ declare const _default: GraphQLSchemaPlugin<import("@webiny/api/types").Context>[];
3
3
  export default _default;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pages","pageImportExportTask"],"sources":["graphql.ts"],"sourcesContent":["import pages from \"./graphql/pages.gql\";\nimport pageImportExportTask from \"./graphql/pageImportExportTasks.gql\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\n\nexport default [pages, pageImportExportTask] as GraphQLSchemaPlugin[];\n"],"mappings":";;;;;;;;;AAAA;;AACA;;eAGe,CAACA,cAAD,EAAQC,8BAAR,C"}
@@ -1,3 +1,3 @@
1
1
  import { PageImportExportPluginsParams } from "./types";
2
- declare const _default: (params: PageImportExportPluginsParams) => (import("@webiny/handler/plugins/ContextPlugin").ContextPlugin<import("./types").PbPageImportExportContext>[] | import("@webiny/handler-graphql/types").GraphQLSchemaPlugin<import("@webiny/handler/types").ContextInterface>[])[];
2
+ declare const _default: (params: PageImportExportPluginsParams) => (import("@webiny/api").ContextPlugin<import("~/graphql/types").PbPageImportExportContext>[] | import("@webiny/handler-graphql/types").GraphQLSchemaPlugin<import("@webiny/api/types").Context>[])[];
3
3
  export default _default;
package/graphql/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -0,0 +1 @@
1
+ {"version":3,"names":["params","crud","graphql"],"sources":["index.ts"],"sourcesContent":["import crud from \"./crud\";\nimport graphql from \"./graphql\";\nimport { PageImportExportPluginsParams } from \"~/graphql/types\";\n\nexport default (params: PageImportExportPluginsParams) => [crud(params), graphql];\n"],"mappings":";;;;;;;;;AAAA;;AACA;;eAGgBA,MAAD,IAA2C,CAAC,IAAAC,aAAA,EAAKD,MAAL,CAAD,EAAeE,gBAAf,C"}