@webiny/api-page-builder-import-export 0.0.0-unstable.aad28a72ae → 0.0.0-unstable.acacc54f0e
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.
- package/client.js +2 -6
- package/client.js.map +1 -1
- package/export/combine/blocksHandler.js +11 -18
- package/export/combine/blocksHandler.js.map +1 -1
- package/export/combine/formsHandler.d.ts +6 -0
- package/export/combine/formsHandler.js +99 -0
- package/export/combine/formsHandler.js.map +1 -0
- package/export/combine/index.js +22 -10
- package/export/combine/index.js.map +1 -1
- package/export/combine/pagesHandler.js +11 -18
- package/export/combine/pagesHandler.js.map +1 -1
- package/export/combine/templatesHandler.d.ts +6 -0
- package/export/combine/templatesHandler.js +99 -0
- package/export/combine/templatesHandler.js.map +1 -0
- package/export/process/blocksHandler.js +27 -36
- package/export/process/blocksHandler.js.map +1 -1
- package/export/process/exporters/BlockExporter.d.ts +13 -0
- package/export/process/exporters/BlockExporter.js +81 -0
- package/export/process/exporters/BlockExporter.js.map +1 -0
- package/export/process/exporters/FormExporter.d.ts +9 -0
- package/export/process/exporters/FormExporter.js +34 -0
- package/export/process/exporters/FormExporter.js.map +1 -0
- package/export/process/exporters/PageExporter.d.ts +11 -0
- package/export/process/exporters/PageExporter.js +58 -0
- package/export/process/exporters/PageExporter.js.map +1 -0
- package/export/process/exporters/PageTemplateExporter.d.ts +11 -0
- package/export/process/exporters/PageTemplateExporter.js +56 -0
- package/export/process/exporters/PageTemplateExporter.js.map +1 -0
- package/export/process/formsHandler.d.ts +6 -0
- package/export/process/formsHandler.js +187 -0
- package/export/process/formsHandler.js.map +1 -0
- package/export/process/index.js +22 -10
- package/export/process/index.js.map +1 -1
- package/export/process/pagesHandler.js +23 -38
- package/export/process/pagesHandler.js.map +1 -1
- package/export/process/templatesHandler.d.ts +6 -0
- package/export/process/templatesHandler.js +166 -0
- package/export/process/templatesHandler.js.map +1 -0
- package/export/s3Stream.d.ts +5 -2
- package/export/s3Stream.js +1 -20
- package/export/s3Stream.js.map +1 -1
- package/export/utils.d.ts +2 -16
- package/export/utils.js +5 -105
- package/export/utils.js.map +1 -1
- package/export/zipper.js +31 -43
- package/export/zipper.js.map +1 -1
- package/graphql/crud/blocks.crud.js +29 -54
- package/graphql/crud/blocks.crud.js.map +1 -1
- package/graphql/crud/forms.crud.d.ts +4 -0
- package/graphql/crud/forms.crud.js +134 -0
- package/graphql/crud/forms.crud.js.map +1 -0
- package/graphql/crud/importExportTasks.crud.js +47 -94
- package/graphql/crud/importExportTasks.crud.js.map +1 -1
- package/graphql/crud/pages.crud.d.ts +1 -0
- package/graphql/crud/pages.crud.js +38 -49
- package/graphql/crud/pages.crud.js.map +1 -1
- package/graphql/crud/templates.crud.d.ts +4 -0
- package/graphql/crud/templates.crud.js +128 -0
- package/graphql/crud/templates.crud.js.map +1 -0
- package/graphql/crud.js +3 -7
- package/graphql/crud.js.map +1 -1
- package/graphql/graphql/blocks.gql.js +2 -7
- package/graphql/graphql/blocks.gql.js.map +1 -1
- package/graphql/graphql/forms.gql.d.ts +4 -0
- package/graphql/graphql/forms.gql.js +60 -0
- package/graphql/graphql/forms.gql.js.map +1 -0
- package/graphql/graphql/importExportTasks.gql.js +1 -6
- package/graphql/graphql/importExportTasks.gql.js.map +1 -1
- package/graphql/graphql/pages.gql.js +2 -7
- package/graphql/graphql/pages.gql.js.map +1 -1
- package/graphql/graphql/templates.gql.d.ts +4 -0
- package/graphql/graphql/templates.gql.js +52 -0
- package/graphql/graphql/templates.gql.js.map +1 -0
- package/graphql/graphql/utils/resolve.d.ts +1 -1
- package/graphql/graphql/utils/resolve.js +0 -3
- package/graphql/graphql/utils/resolve.js.map +1 -1
- package/graphql/graphql.js +3 -6
- package/graphql/graphql.js.map +1 -1
- package/graphql/index.js +0 -5
- package/graphql/index.js.map +1 -1
- package/graphql/types.d.ts +40 -1
- package/graphql/types.js.map +1 -1
- package/import/constants.d.ts +3 -0
- package/import/constants.js +14 -0
- package/import/constants.js.map +1 -0
- package/import/create/blocksHandler.js +11 -22
- package/import/create/blocksHandler.js.map +1 -1
- package/import/{process/pagesHandler.d.ts → create/formsHandler.d.ts} +1 -1
- package/import/create/formsHandler.js +103 -0
- package/import/create/formsHandler.js.map +1 -0
- package/import/create/index.d.ts +2 -1
- package/import/create/index.js +22 -10
- package/import/create/index.js.map +1 -1
- package/import/create/pagesHandler.js +13 -20
- package/import/create/pagesHandler.js.map +1 -1
- package/import/create/templatesHandler.d.ts +3 -0
- package/import/create/templatesHandler.js +99 -0
- package/import/create/templatesHandler.js.map +1 -0
- package/import/process/{blocksHandler.d.ts → blocks/blocksHandler.d.ts} +2 -2
- package/import/process/{blocksHandler.js → blocks/blocksHandler.js} +28 -35
- package/import/process/blocks/blocksHandler.js.map +1 -0
- package/import/process/blocks/importBlock.d.ts +11 -0
- package/import/process/blocks/importBlock.js +106 -0
- package/import/process/blocks/importBlock.js.map +1 -0
- package/import/process/forms/formsHandler.d.ts +3 -0
- package/import/process/forms/formsHandler.js +176 -0
- package/import/process/forms/formsHandler.js.map +1 -0
- package/import/process/forms/importForm.d.ts +9 -0
- package/import/process/forms/importForm.js +43 -0
- package/import/process/forms/importForm.js.map +1 -0
- package/import/process/index.d.ts +1 -0
- package/import/process/index.js +24 -12
- package/import/process/index.js.map +1 -1
- package/import/process/pages/importPage.d.ts +11 -0
- package/import/process/pages/importPage.js +92 -0
- package/import/process/pages/importPage.js.map +1 -0
- package/import/process/pages/pagesHandler.d.ts +3 -0
- package/import/process/{pagesHandler.js → pages/pagesHandler.js} +39 -36
- package/import/process/pages/pagesHandler.js.map +1 -0
- package/import/process/templates/importTemplate.d.ts +11 -0
- package/import/process/templates/importTemplate.js +66 -0
- package/import/process/templates/importTemplate.js.map +1 -0
- package/import/process/templates/templatesHandler.d.ts +3 -0
- package/import/process/templates/templatesHandler.js +170 -0
- package/import/process/templates/templatesHandler.js.map +1 -0
- package/import/utils/deleteS3Folder.d.ts +1 -0
- package/import/utils/deleteS3Folder.js +19 -0
- package/import/utils/deleteS3Folder.js.map +1 -0
- package/import/utils/extractAndUploadZipFileContents.d.ts +7 -0
- package/import/utils/extractAndUploadZipFileContents.js +122 -0
- package/import/utils/extractAndUploadZipFileContents.js.map +1 -0
- package/import/utils/extractZipAndUploadToS3.d.ts +2 -0
- package/import/utils/extractZipAndUploadToS3.js +98 -0
- package/import/utils/extractZipAndUploadToS3.js.map +1 -0
- package/import/utils/getFileNameWithoutExt.d.ts +1 -0
- package/import/utils/getFileNameWithoutExt.js +11 -0
- package/import/utils/getFileNameWithoutExt.js.map +1 -0
- package/import/utils/index.d.ts +9 -0
- package/import/utils/index.js +104 -0
- package/import/utils/index.js.map +1 -0
- package/import/utils/initialStats.d.ts +7 -0
- package/import/utils/initialStats.js +16 -0
- package/import/utils/initialStats.js.map +1 -0
- package/import/utils/prepareDataDirMap.d.ts +6 -0
- package/import/utils/prepareDataDirMap.js +29 -0
- package/import/utils/prepareDataDirMap.js.map +1 -0
- package/import/utils/updateFilesInData.d.ts +8 -0
- package/import/utils/updateFilesInData.js +49 -0
- package/import/utils/updateFilesInData.js.map +1 -0
- package/import/utils/uploadAssets.d.ts +10 -0
- package/import/utils/uploadAssets.js +87 -0
- package/import/utils/uploadAssets.js.map +1 -0
- package/import/utils/uploadFilesFromS3.d.ts +3 -0
- package/import/utils/uploadFilesFromS3.js +19 -0
- package/import/utils/uploadFilesFromS3.js.map +1 -0
- package/mockSecurity.js +0 -3
- package/mockSecurity.js.map +1 -1
- package/package.json +34 -37
- package/types.d.ts +21 -0
- package/types.js +60 -13
- package/types.js.map +1 -1
- package/import/process/blocksHandler.js.map +0 -1
- package/import/process/pagesHandler.js.map +0 -1
- package/import/utils.d.ts +0 -49
- package/import/utils.js +0 -641
- package/import/utils.js.map +0 -1
@@ -1,51 +1,45 @@
|
|
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
|
-
exports.default = void 0;
|
9
|
-
|
7
|
+
exports.default = exports.EXPORT_PAGES_FOLDER_KEY = void 0;
|
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
|
-
var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
|
17
|
-
|
18
11
|
var _types = require("../../types");
|
19
|
-
|
20
12
|
var _client = require("../../client");
|
21
|
-
|
22
13
|
var _utils = require("../../import/utils");
|
23
|
-
|
24
|
-
var
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
const PERMISSION_NAME = "pb.page";
|
14
|
+
var _utils2 = require("@webiny/utils");
|
15
|
+
var _PagesPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions");
|
16
|
+
const EXPORT_PAGES_FOLDER_KEY = "WEBINY_PB_EXPORT_PAGES";
|
17
|
+
exports.EXPORT_PAGES_FOLDER_KEY = EXPORT_PAGES_FOLDER_KEY;
|
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 => {
|
21
|
+
const pagesPermissions = new _PagesPermissions.PagesPermissions({
|
22
|
+
getPermissions: () => context.security.getPermissions("pb.page"),
|
23
|
+
getIdentity: context.security.getIdentity,
|
24
|
+
fullAccessPermissionName: "pb.*"
|
25
|
+
});
|
33
26
|
const importExportCrud = {
|
34
27
|
async importPages({
|
35
28
|
category: categorySlug,
|
36
|
-
zipFileUrl
|
29
|
+
zipFileUrl,
|
30
|
+
meta
|
37
31
|
}) {
|
38
|
-
await
|
32
|
+
await pagesPermissions.ensure({
|
39
33
|
rwd: "w"
|
40
|
-
});
|
34
|
+
});
|
41
35
|
|
36
|
+
// Bail out early if category not found
|
42
37
|
const category = await context.pageBuilder.getCategory(categorySlug);
|
43
|
-
|
44
38
|
if (!category) {
|
45
39
|
throw new _handlerGraphql.NotFoundError(`Category with slug "${categorySlug}" not found.`);
|
46
|
-
}
|
47
|
-
|
40
|
+
}
|
48
41
|
|
42
|
+
// Create a task for import page
|
49
43
|
const task = await context.pageBuilder.importExportTask.createTask({
|
50
44
|
status: _types.ImportExportTaskStatus.PENDING,
|
51
45
|
input: {
|
@@ -58,7 +52,6 @@ var _default = new _api.ContextPlugin(context => {
|
|
58
52
|
* ImportPages
|
59
53
|
* importPages
|
60
54
|
*/
|
61
|
-
|
62
55
|
await (0, _client.invokeHandlerClient)({
|
63
56
|
context,
|
64
57
|
name: IMPORT_PAGES_CREATE_HANDLER,
|
@@ -67,7 +60,8 @@ var _default = new _api.ContextPlugin(context => {
|
|
67
60
|
zipFileUrl,
|
68
61
|
task,
|
69
62
|
type: "page",
|
70
|
-
identity: context.security.getIdentity()
|
63
|
+
identity: context.security.getIdentity(),
|
64
|
+
meta
|
71
65
|
},
|
72
66
|
description: "Import Pages - create"
|
73
67
|
});
|
@@ -75,7 +69,6 @@ var _default = new _api.ContextPlugin(context => {
|
|
75
69
|
task
|
76
70
|
};
|
77
71
|
},
|
78
|
-
|
79
72
|
async exportPages({
|
80
73
|
ids: initialPageIds,
|
81
74
|
revisionType,
|
@@ -83,11 +76,11 @@ var _default = new _api.ContextPlugin(context => {
|
|
83
76
|
sort,
|
84
77
|
search
|
85
78
|
}) {
|
86
|
-
await
|
79
|
+
await pagesPermissions.ensure({
|
87
80
|
rwd: "w"
|
88
81
|
});
|
89
|
-
let pageIds = initialPageIds || [];
|
90
|
-
|
82
|
+
let pageIds = initialPageIds || [];
|
83
|
+
// If no ids are provided then it means we want to export all pages
|
91
84
|
if (!initialPageIds || Array.isArray(initialPageIds) && initialPageIds.length === 0) {
|
92
85
|
pageIds = [];
|
93
86
|
let pages = [];
|
@@ -95,34 +88,33 @@ var _default = new _api.ContextPlugin(context => {
|
|
95
88
|
hasMoreItems: true,
|
96
89
|
cursor: null,
|
97
90
|
totalCount: 0
|
98
|
-
};
|
99
|
-
|
91
|
+
};
|
92
|
+
// Paginate pages
|
100
93
|
while (meta.hasMoreItems) {
|
101
94
|
[pages, meta] = await context.pageBuilder.listLatestPages({
|
102
95
|
after: meta.cursor,
|
103
96
|
where: where,
|
104
97
|
sort: sort,
|
105
98
|
search: search
|
106
|
-
});
|
107
|
-
|
99
|
+
});
|
100
|
+
// Save page ids
|
108
101
|
pages.forEach(page => pageIds.push(page.id));
|
109
102
|
}
|
110
103
|
}
|
111
|
-
|
112
104
|
if (pageIds.length === 0) {
|
113
105
|
throw new _error.default("Cannot export pages - no pages found for provided inputs.", "EMPTY_EXPORT_NO_PAGES_FOUND");
|
114
|
-
}
|
115
|
-
|
106
|
+
}
|
116
107
|
|
108
|
+
// Create the main task for page export.
|
117
109
|
const task = await context.pageBuilder.importExportTask.createTask({
|
118
110
|
status: _types.ImportExportTaskStatus.PENDING
|
119
111
|
});
|
120
|
-
const exportPagesDataKey = `${
|
121
|
-
|
112
|
+
const exportPagesDataKey = `${EXPORT_PAGES_FOLDER_KEY}/${task.id}`;
|
113
|
+
// For each page create a sub-task and invoke the process handler.
|
122
114
|
for (let i = 0; i < pageIds.length; i++) {
|
123
|
-
const pageId = pageIds[i];
|
124
|
-
|
125
|
-
await context.pageBuilder.importExportTask.createSubTask(task.id, (0,
|
115
|
+
const pageId = pageIds[i];
|
116
|
+
// Create sub-task.
|
117
|
+
await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
|
126
118
|
status: _types.ImportExportTaskStatus.PENDING,
|
127
119
|
input: {
|
128
120
|
pageId,
|
@@ -130,9 +122,8 @@ var _default = new _api.ContextPlugin(context => {
|
|
130
122
|
revisionType
|
131
123
|
}
|
132
124
|
});
|
133
|
-
}
|
134
|
-
|
135
|
-
|
125
|
+
}
|
126
|
+
// Update main task status.
|
136
127
|
await context.pageBuilder.importExportTask.updateTask(task.id, {
|
137
128
|
status: _types.ImportExportTaskStatus.PROCESSING,
|
138
129
|
stats: (0, _utils.initialStats)(pageIds.length),
|
@@ -141,13 +132,13 @@ var _default = new _api.ContextPlugin(context => {
|
|
141
132
|
revisionType
|
142
133
|
}
|
143
134
|
});
|
135
|
+
|
144
136
|
/**
|
145
137
|
* Export Pages
|
146
138
|
* ExportPages
|
147
139
|
* exportPages
|
148
140
|
*/
|
149
141
|
// Invoke handler.
|
150
|
-
|
151
142
|
await (0, _client.invokeHandlerClient)({
|
152
143
|
context,
|
153
144
|
name: EXPORT_PAGES_PROCESS_HANDLER,
|
@@ -163,10 +154,8 @@ var _default = new _api.ContextPlugin(context => {
|
|
163
154
|
task
|
164
155
|
};
|
165
156
|
}
|
166
|
-
|
167
|
-
|
168
|
-
|
157
|
+
};
|
158
|
+
// Modify context
|
169
159
|
context.pageBuilder.pages = importExportCrud;
|
170
160
|
});
|
171
|
-
|
172
161
|
exports.default = _default;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["PERMISSION_NAME","EXPORT_PAGES_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_PAGES_CREATE_HANDLER","IMPORT_CREATE_HANDLER","ContextPlugin","context","importExportCrud","importPages","category","categorySlug","zipFileUrl","checkBasePermissions","rwd","pageBuilder","getCategory","NotFoundError","task","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","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 { ImportExportTaskStatus, PagesImportExportCrud, PbImportExportContext } from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as CreateHandlerPayload } from \"~/import/create\";\nimport { initialStats } from \"~/import/utils\";\nimport { Payload as ExportPagesProcessHandlerPayload } from \"~/export/process\";\nimport { EXPORT_PAGES_FOLDER_KEY } from \"~/export/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_PROCESS_HANDLER as string;\nconst IMPORT_PAGES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER as string;\n\nexport default new ContextPlugin<PbImportExportContext>(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.importExportTask.createTask({\n status: ImportExportTaskStatus.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 type: \"page\",\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.importExportTask.createTask({\n status: ImportExportTaskStatus.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.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n input: {\n pageId,\n exportPagesDataKey,\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(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 type: \"page\",\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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"}
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_handlerGraphql","_api","_types","_client","_utils","_utils2","_PagesPermissions","EXPORT_PAGES_FOLDER_KEY","exports","EXPORT_PAGES_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_PAGES_CREATE_HANDLER","IMPORT_CREATE_HANDLER","_default","ContextPlugin","context","pagesPermissions","PagesPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","importExportCrud","importPages","category","categorySlug","zipFileUrl","meta","ensure","rwd","pageBuilder","getCategory","NotFoundError","task","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","description","exportPages","ids","initialPageIds","revisionType","where","sort","search","pageIds","Array","isArray","length","pages","hasMoreItems","cursor","totalCount","listLatestPages","after","forEach","page","push","id","WebinyError","exportPagesDataKey","i","pageId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex","default"],"sources":["pages.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { ImportExportTaskStatus, PagesImportExportCrud, PbImportExportContext } from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as CreateHandlerPayload } from \"~/import/create\";\nimport { initialStats } from \"~/import/utils\";\nimport { Payload as ExportPagesProcessHandlerPayload } from \"~/export/process\";\nimport { MetaResponse } from \"@webiny/api-page-builder/types\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { PagesPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions\";\n\nexport const EXPORT_PAGES_FOLDER_KEY = \"WEBINY_PB_EXPORT_PAGES\";\nconst EXPORT_PAGES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER as string;\nconst IMPORT_PAGES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER as string;\n\nexport default new ContextPlugin<PbImportExportContext>(context => {\n const pagesPermissions = new PagesPermissions({\n getPermissions: () => context.security.getPermissions(\"pb.page\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n const importExportCrud: PagesImportExportCrud = {\n async importPages({ category: categorySlug, zipFileUrl, meta }) {\n await pagesPermissions.ensure({ rwd: \"w\" });\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.importExportTask.createTask({\n status: ImportExportTaskStatus.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 type: \"page\",\n identity: context.security.getIdentity(),\n meta\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 pagesPermissions.ensure({ 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.importExportTask.createTask({\n status: ImportExportTaskStatus.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.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n input: {\n pageId,\n exportPagesDataKey,\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(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 type: \"page\",\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":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,MAAA,GAAAL,OAAA;AAGA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AAEO,MAAMQ,uBAAuB,GAAG,wBAAwB;AAACC,OAAA,CAAAD,uBAAA,GAAAA,uBAAA;AAChE,MAAME,4BAA4B,GAAGC,OAAO,CAACC,GAAG,CAACC,sBAAgC;AACjF,MAAMC,2BAA2B,GAAGH,OAAO,CAACC,GAAG,CAACG,qBAA+B;AAAC,IAAAC,QAAA,GAEjE,IAAIC,kBAAa,CAAwBC,OAAO,IAAI;EAC/D,MAAMC,gBAAgB,GAAG,IAAIC,kCAAgB,CAAC;IAC1CC,cAAc,EAAEA,CAAA,KAAMH,OAAO,CAACI,QAAQ,CAACD,cAAc,CAAC,SAAS,CAAC;IAChEE,WAAW,EAAEL,OAAO,CAACI,QAAQ,CAACC,WAAW;IACzCC,wBAAwB,EAAE;EAC9B,CAAC,CAAC;EAEF,MAAMC,gBAAuC,GAAG;IAC5C,MAAMC,WAAWA,CAAC;MAAEC,QAAQ,EAAEC,YAAY;MAAEC,UAAU;MAAEC;IAAK,CAAC,EAAE;MAC5D,MAAMX,gBAAgB,CAACY,MAAM,CAAC;QAAEC,GAAG,EAAE;MAAI,CAAC,CAAC;;MAE3C;MACA,MAAML,QAAQ,GAAG,MAAMT,OAAO,CAACe,WAAW,CAACC,WAAW,CAACN,YAAY,CAAC;MACpE,IAAI,CAACD,QAAQ,EAAE;QACX,MAAM,IAAIQ,6BAAa,CAAE,uBAAsBP,YAAa,cAAa,CAAC;MAC9E;;MAEA;MACA,MAAMQ,IAAI,GAAG,MAAMlB,OAAO,CAACe,WAAW,CAACI,gBAAgB,CAACC,UAAU,CAAC;QAC/DC,MAAM,EAAEC,6BAAsB,CAACC,OAAO;QACtCC,KAAK,EAAE;UACHf,QAAQ,EAAEC,YAAY;UACtBC;QACJ;MACJ,CAAC,CAAC;MACF;AACZ;AACA;AACA;AACA;MACY,MAAM,IAAAc,2BAAmB,EAAuB;QAC5CzB,OAAO;QACP0B,IAAI,EAAE9B,2BAA2B;QACjC+B,OAAO,EAAE;UACLlB,QAAQ,EAAEC,YAAY;UACtBC,UAAU;UACVO,IAAI;UACJU,IAAI,EAAE,MAAM;UACZC,QAAQ,EAAE7B,OAAO,CAACI,QAAQ,CAACC,WAAW,CAAC,CAAC;UACxCO;QACJ,CAAC;QACDkB,WAAW,EAAE;MACjB,CAAC,CAAC;MAEF,OAAO;QACHZ;MACJ,CAAC;IACL,CAAC;IAED,MAAMa,WAAWA,CAAC;MAAEC,GAAG,EAAEC,cAAc;MAAEC,YAAY;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAO,CAAC,EAAE;MAC1E,MAAMpC,gBAAgB,CAACY,MAAM,CAAC;QAAEC,GAAG,EAAE;MAAI,CAAC,CAAC;MAE3C,IAAIwB,OAAiB,GAAGL,cAAc,IAAI,EAAE;MAC5C;MACA,IAAI,CAACA,cAAc,IAAKM,KAAK,CAACC,OAAO,CAACP,cAAc,CAAC,IAAIA,cAAc,CAACQ,MAAM,KAAK,CAAE,EAAE;QACnFH,OAAO,GAAG,EAAE;QACZ,IAAII,KAAK,GAAG,EAAE;QACd,IAAI9B,IAAkB,GAAG;UACrB+B,YAAY,EAAE,IAAI;UAClBC,MAAM,EAAE,IAAI;UACZC,UAAU,EAAE;QAChB,CAAC;QACD;QACA,OAAOjC,IAAI,CAAC+B,YAAY,EAAE;UACtB,CAACD,KAAK,EAAE9B,IAAI,CAAC,GAAG,MAAMZ,OAAO,CAACe,WAAW,CAAC+B,eAAe,CAAC;YACtDC,KAAK,EAAEnC,IAAI,CAACgC,MAAM;YAClBT,KAAK,EAAEA,KAAK;YACZC,IAAI,EAAEA,IAAI;YACVC,MAAM,EAAEA;UACZ,CAAC,CAAC;UACF;UACAK,KAAK,CAACM,OAAO,CAACC,IAAI,IAAIX,OAAO,CAACY,IAAI,CAACD,IAAI,CAACE,EAAE,CAAC,CAAC;QAChD;MACJ;MAEA,IAAIb,OAAO,CAACG,MAAM,KAAK,CAAC,EAAE;QACtB,MAAM,IAAIW,cAAW,CACjB,2DAA2D,EAC3D,6BACJ,CAAC;MACL;;MAEA;MACA,MAAMlC,IAAI,GAAG,MAAMlB,OAAO,CAACe,WAAW,CAACI,gBAAgB,CAACC,UAAU,CAAC;QAC/DC,MAAM,EAAEC,6BAAsB,CAACC;MACnC,CAAC,CAAC;MACF,MAAM8B,kBAAkB,GAAI,GAAE/D,uBAAwB,IAAG4B,IAAI,CAACiC,EAAG,EAAC;MAClE;MACA,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,OAAO,CAACG,MAAM,EAAEa,CAAC,EAAE,EAAE;QACrC,MAAMC,MAAM,GAAGjB,OAAO,CAACgB,CAAC,CAAC;QACzB;QACA,MAAMtD,OAAO,CAACe,WAAW,CAACI,gBAAgB,CAACqC,aAAa,CACpDtC,IAAI,CAACiC,EAAE,EACP,IAAAM,eAAO,EAACH,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EACjB;UACIjC,MAAM,EAAEC,6BAAsB,CAACC,OAAO;UACtCC,KAAK,EAAE;YACH+B,MAAM;YACNF,kBAAkB;YAClBnB;UACJ;QACJ,CACJ,CAAC;MACL;MACA;MACA,MAAMlC,OAAO,CAACe,WAAW,CAACI,gBAAgB,CAACuC,UAAU,CAACxC,IAAI,CAACiC,EAAE,EAAE;QAC3D9B,MAAM,EAAEC,6BAAsB,CAACqC,UAAU;QACzCC,KAAK,EAAE,IAAAC,mBAAY,EAACvB,OAAO,CAACG,MAAM,CAAC;QACnCjB,KAAK,EAAE;UACH6B,kBAAkB;UAClBnB;QACJ;MACJ,CAAC,CAAC;;MAEF;AACZ;AACA;AACA;AACA;MACY;MACA,MAAM,IAAAT,2BAAmB,EAAmC;QACxDzB,OAAO;QACP0B,IAAI,EAAElC,4BAA4B;QAClCmC,OAAO,EAAE;UACLmC,MAAM,EAAE5C,IAAI,CAACiC,EAAE;UACfY,YAAY,EAAE,CAAC;UACfnC,IAAI,EAAE,MAAM;UACZC,QAAQ,EAAE7B,OAAO,CAACI,QAAQ,CAACC,WAAW,CAAC;QAC3C,CAAC;QACDyB,WAAW,EAAE;MACjB,CAAC,CAAC;MAEF,OAAO;QAAEZ;MAAK,CAAC;IACnB;EACJ,CAAC;EACD;EACAlB,OAAO,CAACe,WAAW,CAAC2B,KAAK,GAAGnC,gBAAgB;AAChD,CAAC,CAAC;AAAAhB,OAAA,CAAAyE,OAAA,GAAAlE,QAAA"}
|
@@ -0,0 +1,128 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.default = void 0;
|
8
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
9
|
+
var _api = require("@webiny/api");
|
10
|
+
var _types = require("../../types");
|
11
|
+
var _client = require("../../client");
|
12
|
+
var _utils = require("../../import/utils");
|
13
|
+
var _utils2 = require("@webiny/utils");
|
14
|
+
var _PageTemplatesPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PageTemplatesPermissions");
|
15
|
+
const EXPORT_TEMPLATES_FOLDER_KEY = "WEBINY_PB_EXPORT_TEMPLATE";
|
16
|
+
const EXPORT_TEMPLATES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
|
17
|
+
const IMPORT_TEMPLATES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
|
18
|
+
var _default = new _api.ContextPlugin(context => {
|
19
|
+
const pagesPermissions = new _PageTemplatesPermissions.PageTemplatesPermissions({
|
20
|
+
getPermissions: () => context.security.getPermissions("pb.template"),
|
21
|
+
getIdentity: context.security.getIdentity,
|
22
|
+
fullAccessPermissionName: "pb.*"
|
23
|
+
});
|
24
|
+
const importExportCrud = {
|
25
|
+
async importTemplates({
|
26
|
+
zipFileUrl
|
27
|
+
}) {
|
28
|
+
await pagesPermissions.ensure({
|
29
|
+
rwd: "w"
|
30
|
+
});
|
31
|
+
|
32
|
+
// Create a task for import template
|
33
|
+
const task = await context.pageBuilder.importExportTask.createTask({
|
34
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
35
|
+
input: {
|
36
|
+
zipFileUrl
|
37
|
+
}
|
38
|
+
});
|
39
|
+
/**
|
40
|
+
* Import Templates
|
41
|
+
* ImportTemplates
|
42
|
+
* importTemplates
|
43
|
+
*/
|
44
|
+
await (0, _client.invokeHandlerClient)({
|
45
|
+
context,
|
46
|
+
name: IMPORT_TEMPLATES_CREATE_HANDLER,
|
47
|
+
payload: {
|
48
|
+
zipFileUrl,
|
49
|
+
task,
|
50
|
+
type: "template",
|
51
|
+
identity: context.security.getIdentity()
|
52
|
+
},
|
53
|
+
description: "Import Templates - create"
|
54
|
+
});
|
55
|
+
return {
|
56
|
+
task
|
57
|
+
};
|
58
|
+
},
|
59
|
+
async exportTemplates({
|
60
|
+
ids: initialTemplateIds
|
61
|
+
}) {
|
62
|
+
await pagesPermissions.ensure({
|
63
|
+
rwd: "w"
|
64
|
+
});
|
65
|
+
let templateIds = initialTemplateIds || [];
|
66
|
+
// If no ids are provided then it means we want to export all templates
|
67
|
+
if (!initialTemplateIds || Array.isArray(initialTemplateIds) && initialTemplateIds.length === 0) {
|
68
|
+
templateIds = [];
|
69
|
+
const templates = await context.pageBuilder.listPageTemplates();
|
70
|
+
// Save template ids
|
71
|
+
templates.forEach(template => templateIds.push(template.id));
|
72
|
+
}
|
73
|
+
if (templateIds.length === 0) {
|
74
|
+
throw new _error.default("Cannot export templates - no templates found for provided inputs.", "EMPTY_EXPORT_NO_TEMPLATES_FOUND");
|
75
|
+
}
|
76
|
+
|
77
|
+
// Create the main task for templates export.
|
78
|
+
const task = await context.pageBuilder.importExportTask.createTask({
|
79
|
+
status: _types.ImportExportTaskStatus.PENDING
|
80
|
+
});
|
81
|
+
const exportTemplatesDataKey = `${EXPORT_TEMPLATES_FOLDER_KEY}/${task.id}`;
|
82
|
+
// For each template create a sub task and invoke the process handler.
|
83
|
+
for (let i = 0; i < templateIds.length; i++) {
|
84
|
+
const templateId = templateIds[i];
|
85
|
+
// Create sub task.
|
86
|
+
await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
|
87
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
88
|
+
input: {
|
89
|
+
templateId,
|
90
|
+
exportTemplatesDataKey
|
91
|
+
}
|
92
|
+
});
|
93
|
+
}
|
94
|
+
// Update main task status.
|
95
|
+
await context.pageBuilder.importExportTask.updateTask(task.id, {
|
96
|
+
status: _types.ImportExportTaskStatus.PROCESSING,
|
97
|
+
stats: (0, _utils.initialStats)(templateIds.length),
|
98
|
+
input: {
|
99
|
+
exportTemplatesDataKey
|
100
|
+
}
|
101
|
+
});
|
102
|
+
|
103
|
+
/**
|
104
|
+
* Export Templates
|
105
|
+
* ExportTemplates
|
106
|
+
* exportTemplates
|
107
|
+
*/
|
108
|
+
// Invoke handler.
|
109
|
+
await (0, _client.invokeHandlerClient)({
|
110
|
+
context,
|
111
|
+
name: EXPORT_TEMPLATES_PROCESS_HANDLER,
|
112
|
+
payload: {
|
113
|
+
taskId: task.id,
|
114
|
+
subTaskIndex: 1,
|
115
|
+
type: "template",
|
116
|
+
identity: context.security.getIdentity()
|
117
|
+
},
|
118
|
+
description: "Export templates - process"
|
119
|
+
});
|
120
|
+
return {
|
121
|
+
task
|
122
|
+
};
|
123
|
+
}
|
124
|
+
};
|
125
|
+
// Modify context
|
126
|
+
context.pageBuilder.templates = importExportCrud;
|
127
|
+
});
|
128
|
+
exports.default = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_api","_types","_client","_utils","_utils2","_PageTemplatesPermissions","EXPORT_TEMPLATES_FOLDER_KEY","EXPORT_TEMPLATES_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_TEMPLATES_CREATE_HANDLER","IMPORT_CREATE_HANDLER","_default","ContextPlugin","context","pagesPermissions","PageTemplatesPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","importExportCrud","importTemplates","zipFileUrl","ensure","rwd","task","pageBuilder","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","description","exportTemplates","ids","initialTemplateIds","templateIds","Array","isArray","length","templates","listPageTemplates","forEach","template","push","id","WebinyError","exportTemplatesDataKey","i","templateId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex","exports","default"],"sources":["templates.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { ImportExportTaskStatus, TemplatesImportExportCrud, PbImportExportContext } from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as CreateHandlerPayload } from \"~/import/create\";\nimport { initialStats } from \"~/import/utils\";\nimport { Payload as ExportTemplatesProcessHandlerPayload } from \"~/export/process\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { PageTemplatesPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PageTemplatesPermissions\";\n\nconst EXPORT_TEMPLATES_FOLDER_KEY = \"WEBINY_PB_EXPORT_TEMPLATE\";\nconst EXPORT_TEMPLATES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER as string;\nconst IMPORT_TEMPLATES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER as string;\n\nexport default new ContextPlugin<PbImportExportContext>(context => {\n const pagesPermissions = new PageTemplatesPermissions({\n getPermissions: () => context.security.getPermissions(\"pb.template\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n const importExportCrud: TemplatesImportExportCrud = {\n async importTemplates({ zipFileUrl }) {\n await pagesPermissions.ensure({ rwd: \"w\" });\n\n // Create a task for import template\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING,\n input: {\n zipFileUrl\n }\n });\n /**\n * Import Templates\n * ImportTemplates\n * importTemplates\n */\n await invokeHandlerClient<CreateHandlerPayload>({\n context,\n name: IMPORT_TEMPLATES_CREATE_HANDLER,\n payload: {\n zipFileUrl,\n task,\n type: \"template\",\n identity: context.security.getIdentity()\n },\n description: \"Import Templates - create\"\n });\n\n return {\n task\n };\n },\n\n async exportTemplates({ ids: initialTemplateIds }) {\n await pagesPermissions.ensure({ rwd: \"w\" });\n\n let templateIds: string[] = initialTemplateIds || [];\n // If no ids are provided then it means we want to export all templates\n if (\n !initialTemplateIds ||\n (Array.isArray(initialTemplateIds) && initialTemplateIds.length === 0)\n ) {\n templateIds = [];\n const templates = await context.pageBuilder.listPageTemplates();\n // Save template ids\n templates.forEach(template => templateIds.push(template.id));\n }\n\n if (templateIds.length === 0) {\n throw new WebinyError(\n \"Cannot export templates - no templates found for provided inputs.\",\n \"EMPTY_EXPORT_NO_TEMPLATES_FOUND\"\n );\n }\n\n // Create the main task for templates export.\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING\n });\n const exportTemplatesDataKey = `${EXPORT_TEMPLATES_FOLDER_KEY}/${task.id}`;\n // For each template create a sub task and invoke the process handler.\n for (let i = 0; i < templateIds.length; i++) {\n const templateId = templateIds[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 templateId,\n exportTemplatesDataKey\n }\n }\n );\n }\n // Update main task status.\n await context.pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(templateIds.length),\n input: {\n exportTemplatesDataKey\n }\n });\n\n /**\n * Export Templates\n * ExportTemplates\n * exportTemplates\n */\n // Invoke handler.\n await invokeHandlerClient<ExportTemplatesProcessHandlerPayload>({\n context,\n name: EXPORT_TEMPLATES_PROCESS_HANDLER,\n payload: {\n taskId: task.id,\n subTaskIndex: 1,\n type: \"template\",\n identity: context.security.getIdentity()\n },\n description: \"Export templates - process\"\n });\n\n return { task };\n }\n };\n // Modify context\n context.pageBuilder.templates = importExportCrud;\n});\n"],"mappings":"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"}
|
package/graphql/crud.js
CHANGED
@@ -1,18 +1,14 @@
|
|
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 _blocks = _interopRequireDefault(require("./crud/blocks.crud"));
|
11
|
-
|
9
|
+
var _forms = _interopRequireDefault(require("./crud/forms.crud"));
|
12
10
|
var _pages = _interopRequireDefault(require("./crud/pages.crud"));
|
13
|
-
|
11
|
+
var _templates = _interopRequireDefault(require("./crud/templates.crud"));
|
14
12
|
var _importExportTasks = _interopRequireDefault(require("./crud/importExportTasks.crud"));
|
15
|
-
|
16
|
-
var _default = params => [_blocks.default, _pages.default, (0, _importExportTasks.default)(params)];
|
17
|
-
|
13
|
+
var _default = params => [_blocks.default, _forms.default, _pages.default, _templates.default, (0, _importExportTasks.default)(params)];
|
18
14
|
exports.default = _default;
|
package/graphql/crud.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["params","blocks","pages","importExportTask"],"sources":["crud.ts"],"sourcesContent":["import blocks from \"./crud/blocks.crud\";\nimport pages from \"./crud/pages.crud\";\nimport importExportTask from \"./crud/importExportTasks.crud\";\nimport { ImportExportPluginsParams } from \"~/graphql/types\";\n\nexport default (params: ImportExportPluginsParams) => [\n blocks,\n pages,\n importExportTask(params as ImportExportPluginsParams)\n];\n"],"mappings":"
|
1
|
+
{"version":3,"names":["_blocks","_interopRequireDefault","require","_forms","_pages","_templates","_importExportTasks","_default","params","blocks","forms","pages","templates","importExportTask","exports","default"],"sources":["crud.ts"],"sourcesContent":["import blocks from \"./crud/blocks.crud\";\nimport forms from \"./crud/forms.crud\";\nimport pages from \"./crud/pages.crud\";\nimport templates from \"./crud/templates.crud\";\nimport importExportTask from \"./crud/importExportTasks.crud\";\nimport { ImportExportPluginsParams } from \"~/graphql/types\";\n\nexport default (params: ImportExportPluginsParams) => [\n blocks,\n forms,\n pages,\n templates,\n importExportTask(params as ImportExportPluginsParams)\n];\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,kBAAA,GAAAL,sBAAA,CAAAC,OAAA;AAA6D,IAAAK,QAAA,GAG7CC,MAAiC,IAAK,CAClDC,eAAM,EACNC,cAAK,EACLC,cAAK,EACLC,kBAAS,EACT,IAAAC,0BAAgB,EAACL,MAAmC,CAAC,CACxD;AAAAM,OAAA,CAAAC,OAAA,GAAAR,QAAA"}
|
@@ -1,20 +1,15 @@
|
|
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 _resolve = _interopRequireDefault(require("./utils/resolve"));
|
11
|
-
|
12
9
|
const plugin = {
|
13
10
|
type: "graphql-schema",
|
14
11
|
schema: {
|
15
|
-
typeDefs:
|
16
|
-
/* GraphQL */
|
17
|
-
`
|
12
|
+
typeDefs: /* GraphQL */`
|
18
13
|
type PbExportBlockData {
|
19
14
|
task: PbImportExportTask
|
20
15
|
}
|
@@ -38,7 +33,7 @@ const plugin = {
|
|
38
33
|
exportBlocks(ids: [ID!], where: PbListPageBlocksWhereInput): PbExportBlockResponse
|
39
34
|
|
40
35
|
# Import blocks
|
41
|
-
importBlocks(
|
36
|
+
importBlocks(zipFileUrl: String): PbImportBlockResponse
|
42
37
|
}
|
43
38
|
`,
|
44
39
|
resolvers: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["plugin","type","schema","typeDefs","resolvers","PbMutation","exportBlocks","_","args","context","resolve","pageBuilder","blocks","importBlocks"],"sources":["blocks.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport { PbImportExportContext } from \"../types\";\nimport resolve from \"./utils/resolve\";\n\nconst plugin: GraphQLSchemaPlugin<PbImportExportContext> = {\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n type PbExportBlockData {\n task: PbImportExportTask\n }\n\n type PbExportBlockResponse {\n data: PbExportBlockData\n error: PbError\n }\n\n type PbImportBlockData {\n task: PbImportExportTask\n }\n\n type PbImportBlockResponse {\n data: PbImportBlockData\n error: PbError\n }\n\n extend type PbMutation {\n # Export blocks\n exportBlocks(ids: [ID!], where: PbListPageBlocksWhereInput): PbExportBlockResponse\n\n # Import blocks\n importBlocks(
|
1
|
+
{"version":3,"names":["_resolve","_interopRequireDefault","require","plugin","type","schema","typeDefs","resolvers","PbMutation","exportBlocks","_","args","context","resolve","pageBuilder","blocks","importBlocks","_default","exports","default"],"sources":["blocks.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport { PbImportExportContext } from \"../types\";\nimport resolve from \"./utils/resolve\";\n\nconst plugin: GraphQLSchemaPlugin<PbImportExportContext> = {\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n type PbExportBlockData {\n task: PbImportExportTask\n }\n\n type PbExportBlockResponse {\n data: PbExportBlockData\n error: PbError\n }\n\n type PbImportBlockData {\n task: PbImportExportTask\n }\n\n type PbImportBlockResponse {\n data: PbImportBlockData\n error: PbError\n }\n\n extend type PbMutation {\n # Export blocks\n exportBlocks(ids: [ID!], where: PbListPageBlocksWhereInput): PbExportBlockResponse\n\n # Import blocks\n importBlocks(zipFileUrl: String): PbImportBlockResponse\n }\n `,\n resolvers: {\n PbMutation: {\n exportBlocks: async (_, args: any, context) => {\n return resolve(() => context.pageBuilder.blocks.exportBlocks(args));\n },\n\n importBlocks: async (_, args: any, context) => {\n return resolve(() => context.pageBuilder.blocks.importBlocks(args));\n }\n }\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;AAEA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,MAAMC,MAAkD,GAAG;EACvDC,IAAI,EAAE,gBAAgB;EACtBC,MAAM,EAAE;IACJC,QAAQ,EAAE,aAAe;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,SAAS;IACDC,SAAS,EAAE;MACPC,UAAU,EAAE;QACRC,YAAY,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAC3C,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,WAAW,CAACC,MAAM,CAACN,YAAY,CAACE,IAAI,CAAC,CAAC;QACvE,CAAC;QAEDK,YAAY,EAAE,MAAAA,CAAON,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAC3C,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,WAAW,CAACC,MAAM,CAACC,YAAY,CAACL,IAAI,CAAC,CAAC;QACvE;MACJ;IACJ;EACJ;AACJ,CAAC;AAAC,IAAAM,QAAA,GAEad,MAAM;AAAAe,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.default = void 0;
|
8
|
+
var _resolve = _interopRequireDefault(require("./utils/resolve"));
|
9
|
+
const plugin = {
|
10
|
+
type: "graphql-schema",
|
11
|
+
schema: {
|
12
|
+
typeDefs: /* GraphQL */`
|
13
|
+
type FbExportFormData {
|
14
|
+
task: PbImportExportTask
|
15
|
+
}
|
16
|
+
|
17
|
+
type FbExportFormResponse {
|
18
|
+
data: FbExportFormData
|
19
|
+
error: FbError
|
20
|
+
}
|
21
|
+
|
22
|
+
type FbImportFormData {
|
23
|
+
task: PbImportExportTask
|
24
|
+
}
|
25
|
+
|
26
|
+
type FbImportFormResponse {
|
27
|
+
data: FbImportFormData
|
28
|
+
error: FbError
|
29
|
+
}
|
30
|
+
|
31
|
+
enum FbExportFormRevisionType {
|
32
|
+
published
|
33
|
+
latest
|
34
|
+
}
|
35
|
+
|
36
|
+
extend type FbMutation {
|
37
|
+
# Export forms
|
38
|
+
exportForms(
|
39
|
+
ids: [ID!]
|
40
|
+
revisionType: FbExportFormRevisionType!
|
41
|
+
): FbExportFormResponse
|
42
|
+
|
43
|
+
# Import forms
|
44
|
+
importForms(zipFileUrl: String, meta: JSON): FbImportFormResponse
|
45
|
+
}
|
46
|
+
`,
|
47
|
+
resolvers: {
|
48
|
+
FbMutation: {
|
49
|
+
exportForms: async (_, args, context) => {
|
50
|
+
return (0, _resolve.default)(() => context.formBuilder.forms.exportForms(args));
|
51
|
+
},
|
52
|
+
importForms: async (_, args, context) => {
|
53
|
+
return (0, _resolve.default)(() => context.formBuilder.forms.importForms(args));
|
54
|
+
}
|
55
|
+
}
|
56
|
+
}
|
57
|
+
}
|
58
|
+
};
|
59
|
+
var _default = plugin;
|
60
|
+
exports.default = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_resolve","_interopRequireDefault","require","plugin","type","schema","typeDefs","resolvers","FbMutation","exportForms","_","args","context","resolve","formBuilder","forms","importForms","_default","exports","default"],"sources":["forms.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport { PbImportExportContext } from \"../types\";\nimport resolve from \"./utils/resolve\";\n\nconst plugin: GraphQLSchemaPlugin<PbImportExportContext> = {\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n type FbExportFormData {\n task: PbImportExportTask\n }\n\n type FbExportFormResponse {\n data: FbExportFormData\n error: FbError\n }\n\n type FbImportFormData {\n task: PbImportExportTask\n }\n\n type FbImportFormResponse {\n data: FbImportFormData\n error: FbError\n }\n\n enum FbExportFormRevisionType {\n published\n latest\n }\n\n extend type FbMutation {\n # Export forms\n exportForms(\n ids: [ID!]\n revisionType: FbExportFormRevisionType!\n ): FbExportFormResponse\n\n # Import forms\n importForms(zipFileUrl: String, meta: JSON): FbImportFormResponse\n }\n `,\n resolvers: {\n FbMutation: {\n exportForms: async (_, args: any, context) => {\n return resolve(() => context.formBuilder.forms.exportForms(args));\n },\n\n importForms: async (_, args: any, context) => {\n return resolve(() => context.formBuilder.forms.importForms(args));\n }\n }\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;AAEA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,MAAMC,MAAkD,GAAG;EACvDC,IAAI,EAAE,gBAAgB;EACtBC,MAAM,EAAE;IACJC,QAAQ,EAAE,aAAe;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,SAAS;IACDC,SAAS,EAAE;MACPC,UAAU,EAAE;QACRC,WAAW,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAC1C,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,WAAW,CAACC,KAAK,CAACN,WAAW,CAACE,IAAI,CAAC,CAAC;QACrE,CAAC;QAEDK,WAAW,EAAE,MAAAA,CAAON,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAC1C,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,WAAW,CAACC,KAAK,CAACC,WAAW,CAACL,IAAI,CAAC,CAAC;QACrE;MACJ;IACJ;EACJ;AACJ,CAAC;AAAC,IAAAM,QAAA,GAEad,MAAM;AAAAe,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
@@ -1,20 +1,15 @@
|
|
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 _resolve = _interopRequireDefault(require("./utils/resolve"));
|
11
|
-
|
12
9
|
const plugin = {
|
13
10
|
type: "graphql-schema",
|
14
11
|
schema: {
|
15
|
-
typeDefs:
|
16
|
-
/* GraphQL */
|
17
|
-
`
|
12
|
+
typeDefs: /* GraphQL */`
|
18
13
|
enum PbImportExportTaskStatus {
|
19
14
|
pending
|
20
15
|
processing
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["plugin","type","schema","typeDefs","resolvers","PbQuery","getImportExportTask","_","args","context","resolve","pageBuilder","importExportTask","getTask","id","listImportExportSubTask","listSubTasks","status","limit"],"sources":["importExportTasks.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport resolve from \"./utils/resolve\";\nimport { PbImportExportContext } from \"../types\";\n\nconst plugin: GraphQLSchemaPlugin<PbImportExportContext> = {\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n enum PbImportExportTaskStatus {\n pending\n processing\n completed\n failed\n }\n\n type PbImportExportTaskStats {\n pending: Int\n processing: Int\n completed: Int\n failed: Int\n total: Int\n }\n\n type PbImportExportTask {\n id: ID\n createdOn: DateTime\n createdBy: PbCreatedBy\n status: PbImportExportTaskStatus\n data: JSON\n stats: PbImportExportTaskStats\n error: JSON\n }\n\n # Response types\n type PbImportExportTaskResponse {\n data: PbImportExportTask\n error: PbError\n }\n\n type PbImportExportTaskListResponse {\n data: [PbImportExportTask]\n error: PbError\n }\n\n extend type PbQuery {\n getImportExportTask(id: ID!): PbImportExportTaskResponse\n listImportExportSubTask(\n id: ID!\n status: PbImportExportTaskStatus\n limit: Int\n ): PbImportExportTaskListResponse\n }\n `,\n resolvers: {\n PbQuery: {\n getImportExportTask: async (_, args: any, context) => {\n return resolve(() => {\n return context.pageBuilder.importExportTask.getTask(args.id);\n });\n },\n listImportExportSubTask: async (_, args: any, context) => {\n return resolve(() => {\n return context.pageBuilder.importExportTask.listSubTasks(\n args.id,\n args.status,\n args.limit\n );\n });\n }\n }\n }\n }\n};\nexport default plugin;\n"],"mappings":"
|
1
|
+
{"version":3,"names":["_resolve","_interopRequireDefault","require","plugin","type","schema","typeDefs","resolvers","PbQuery","getImportExportTask","_","args","context","resolve","pageBuilder","importExportTask","getTask","id","listImportExportSubTask","listSubTasks","status","limit","_default","exports","default"],"sources":["importExportTasks.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport resolve from \"./utils/resolve\";\nimport { PbImportExportContext } from \"../types\";\n\nconst plugin: GraphQLSchemaPlugin<PbImportExportContext> = {\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n enum PbImportExportTaskStatus {\n pending\n processing\n completed\n failed\n }\n\n type PbImportExportTaskStats {\n pending: Int\n processing: Int\n completed: Int\n failed: Int\n total: Int\n }\n\n type PbImportExportTask {\n id: ID\n createdOn: DateTime\n createdBy: PbCreatedBy\n status: PbImportExportTaskStatus\n data: JSON\n stats: PbImportExportTaskStats\n error: JSON\n }\n\n # Response types\n type PbImportExportTaskResponse {\n data: PbImportExportTask\n error: PbError\n }\n\n type PbImportExportTaskListResponse {\n data: [PbImportExportTask]\n error: PbError\n }\n\n extend type PbQuery {\n getImportExportTask(id: ID!): PbImportExportTaskResponse\n listImportExportSubTask(\n id: ID!\n status: PbImportExportTaskStatus\n limit: Int\n ): PbImportExportTaskListResponse\n }\n `,\n resolvers: {\n PbQuery: {\n getImportExportTask: async (_, args: any, context) => {\n return resolve(() => {\n return context.pageBuilder.importExportTask.getTask(args.id);\n });\n },\n listImportExportSubTask: async (_, args: any, context) => {\n return resolve(() => {\n return context.pageBuilder.importExportTask.listSubTasks(\n args.id,\n args.status,\n args.limit\n );\n });\n }\n }\n }\n }\n};\nexport default plugin;\n"],"mappings":";;;;;;;AACA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,MAAMC,MAAkD,GAAG;EACvDC,IAAI,EAAE,gBAAgB;EACtBC,MAAM,EAAE;IACJC,QAAQ,EAAE,aAAe;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,SAAS;IACDC,SAAS,EAAE;MACPC,OAAO,EAAE;QACLC,mBAAmB,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAClD,OAAO,IAAAC,gBAAO,EAAC,MAAM;YACjB,OAAOD,OAAO,CAACE,WAAW,CAACC,gBAAgB,CAACC,OAAO,CAACL,IAAI,CAACM,EAAE,CAAC;UAChE,CAAC,CAAC;QACN,CAAC;QACDC,uBAAuB,EAAE,MAAAA,CAAOR,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UACtD,OAAO,IAAAC,gBAAO,EAAC,MAAM;YACjB,OAAOD,OAAO,CAACE,WAAW,CAACC,gBAAgB,CAACI,YAAY,CACpDR,IAAI,CAACM,EAAE,EACPN,IAAI,CAACS,MAAM,EACXT,IAAI,CAACU,KACT,CAAC;UACL,CAAC,CAAC;QACN;MACJ;IACJ;EACJ;AACJ,CAAC;AAAC,IAAAC,QAAA,GACanB,MAAM;AAAAoB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
@@ -1,20 +1,15 @@
|
|
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 _resolve = _interopRequireDefault(require("./utils/resolve"));
|
11
|
-
|
12
9
|
const plugin = {
|
13
10
|
type: "graphql-schema",
|
14
11
|
schema: {
|
15
|
-
typeDefs:
|
16
|
-
/* GraphQL */
|
17
|
-
`
|
12
|
+
typeDefs: /* GraphQL */`
|
18
13
|
type PbExportPageData {
|
19
14
|
task: PbImportExportTask
|
20
15
|
}
|
@@ -49,7 +44,7 @@ const plugin = {
|
|
49
44
|
): PbExportPageResponse
|
50
45
|
|
51
46
|
# Import pages
|
52
|
-
importPages(category: String!, zipFileUrl: String): PbImportPageResponse
|
47
|
+
importPages(category: String!, zipFileUrl: String, meta: JSON): PbImportPageResponse
|
53
48
|
}
|
54
49
|
`,
|
55
50
|
resolvers: {
|