@webiny/api-page-builder-import-export 0.0.0-mt-2 → 0.0.0-unstable.06b2ede40f
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.d.ts +8 -0
- package/client.js +34 -0
- package/client.js.map +1 -0
- package/export/combine/blocksHandler.d.ts +6 -0
- package/export/combine/blocksHandler.js +101 -0
- package/export/combine/blocksHandler.js.map +1 -0
- package/export/combine/formsHandler.d.ts +6 -0
- package/export/combine/formsHandler.js +101 -0
- package/export/combine/formsHandler.js.map +1 -0
- package/export/combine/index.d.ts +16 -0
- package/export/combine/index.js +44 -0
- package/export/combine/index.js.map +1 -0
- package/export/combine/templatesHandler.d.ts +6 -0
- package/export/combine/templatesHandler.js +101 -0
- package/export/combine/templatesHandler.js.map +1 -0
- package/export/pages/ExportPagesCleanup.d.ts +5 -0
- package/export/pages/ExportPagesCleanup.js +82 -0
- package/export/pages/ExportPagesCleanup.js.map +1 -0
- package/export/pages/ExportPagesController.d.ts +5 -0
- package/export/pages/ExportPagesController.js +31 -0
- package/export/pages/ExportPagesController.js.map +1 -0
- package/export/pages/ExportPagesZipPages.d.ts +5 -0
- package/export/pages/ExportPagesZipPages.js +23 -0
- package/export/pages/ExportPagesZipPages.js.map +1 -0
- package/export/pages/controller/CombineZippedPages.d.ts +5 -0
- package/export/pages/controller/CombineZippedPages.js +75 -0
- package/export/pages/controller/CombineZippedPages.js.map +1 -0
- package/export/pages/controller/CreateZipPagesTasks.d.ts +8 -0
- package/export/pages/controller/CreateZipPagesTasks.js +103 -0
- package/export/pages/controller/CreateZipPagesTasks.js.map +1 -0
- package/export/pages/controller/ProcessZipPagesTasks.d.ts +6 -0
- package/export/pages/controller/ProcessZipPagesTasks.js +61 -0
- package/export/pages/controller/ProcessZipPagesTasks.js.map +1 -0
- package/export/pages/types.d.ts +53 -0
- package/export/pages/types.js +26 -0
- package/export/pages/types.js.map +1 -0
- package/export/pages/utils.d.ts +2 -0
- package/export/pages/utils.js +13 -0
- package/export/pages/utils.js.map +1 -0
- package/export/pages/zipPages/ZipPages.d.ts +5 -0
- package/export/pages/zipPages/ZipPages.js +100 -0
- package/export/pages/zipPages/ZipPages.js.map +1 -0
- package/export/pages/zipPages/ZipPagesDataManager.d.ts +14 -0
- package/export/pages/zipPages/ZipPagesDataManager.js +46 -0
- package/export/pages/zipPages/ZipPagesDataManager.js.map +1 -0
- package/export/pages/zipPages/getPageFactory.d.ts +4 -0
- package/export/pages/zipPages/getPageFactory.js +38 -0
- package/export/pages/zipPages/getPageFactory.js.map +1 -0
- package/export/process/blocksHandler.d.ts +6 -0
- package/export/process/blocksHandler.js +169 -0
- package/export/process/blocksHandler.js.map +1 -0
- package/export/process/exporters/BlockExporter.d.ts +12 -0
- package/export/process/exporters/BlockExporter.js +57 -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 +36 -0
- package/export/process/exporters/FormExporter.js.map +1 -0
- package/export/process/exporters/PageExporter.d.ts +18 -0
- package/export/process/exporters/PageExporter.js +59 -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 +58 -0
- package/export/process/exporters/PageTemplateExporter.js.map +1 -0
- package/export/process/formsHandler.d.ts +6 -0
- package/export/process/formsHandler.js +189 -0
- package/export/process/formsHandler.js.map +1 -0
- package/export/process/index.d.ts +20 -0
- package/export/process/index.js +41 -0
- package/export/process/index.js.map +1 -0
- package/export/process/templatesHandler.d.ts +6 -0
- package/export/process/templatesHandler.js +168 -0
- package/export/process/templatesHandler.js.map +1 -0
- package/export/s3Stream.d.ts +36 -0
- package/export/s3Stream.js +98 -0
- package/export/s3Stream.js.map +1 -0
- package/export/utils.d.ts +24 -0
- package/export/utils.js +169 -0
- package/export/utils.js.map +1 -0
- package/{exportPages → export}/zipper.d.ts +13 -10
- package/export/zipper.js +120 -0
- package/export/zipper.js.map +1 -0
- package/graphql/crud/blocks.crud.d.ts +4 -0
- package/graphql/crud/blocks.crud.js +158 -0
- package/graphql/crud/blocks.crud.js.map +1 -0
- package/graphql/crud/forms.crud.d.ts +4 -0
- package/graphql/crud/forms.crud.js +162 -0
- package/graphql/crud/forms.crud.js.map +1 -0
- package/graphql/crud/importExportTasks.crud.d.ts +5 -0
- package/graphql/crud/importExportTasks.crud.js +396 -0
- package/graphql/crud/importExportTasks.crud.js.map +1 -0
- package/graphql/crud/pages.crud.d.ts +3 -3
- package/graphql/crud/pages.crud.js +244 -133
- package/graphql/crud/pages.crud.js.map +1 -0
- package/graphql/crud/templates.crud.d.ts +4 -0
- package/graphql/crud/templates.crud.js +156 -0
- package/graphql/crud/templates.crud.js.map +1 -0
- package/graphql/crud.d.ts +2 -2
- package/graphql/crud.js +8 -8
- package/graphql/crud.js.map +1 -0
- package/graphql/graphql/blocks.gql.d.ts +4 -0
- package/graphql/graphql/blocks.gql.js +52 -0
- package/graphql/graphql/blocks.gql.js.map +1 -0
- 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.d.ts +4 -0
- package/graphql/graphql/importExportTasks.gql.js +75 -0
- package/graphql/graphql/importExportTasks.gql.js.map +1 -0
- package/graphql/graphql/pages.gql.d.ts +3 -3
- package/graphql/graphql/pages.gql.js +102 -22
- package/graphql/graphql/pages.gql.js.map +1 -0
- 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 +3 -3
- package/graphql/graphql/utils/resolve.js +15 -7
- package/graphql/graphql/utils/resolve.js.map +1 -0
- package/graphql/graphql.d.ts +2 -2
- package/graphql/graphql.js +7 -7
- package/graphql/graphql.js.map +1 -0
- package/graphql/index.d.ts +2 -2
- package/graphql/index.js +5 -7
- package/graphql/index.js.map +1 -0
- package/graphql/types.d.ts +239 -40
- package/graphql/types.js +3 -1
- package/graphql/types.js.map +1 -0
- package/import/constants.d.ts +3 -0
- package/import/constants.js +13 -0
- package/import/constants.js.map +1 -0
- package/import/create/blocksHandler.d.ts +3 -0
- package/import/create/blocksHandler.js +101 -0
- package/import/create/blocksHandler.js.map +1 -0
- package/import/create/formsHandler.d.ts +3 -0
- package/import/create/formsHandler.js +105 -0
- package/import/create/formsHandler.js.map +1 -0
- package/import/create/index.d.ts +24 -0
- package/import/create/index.js +44 -0
- package/import/create/index.js.map +1 -0
- package/import/create/pagesHandler.d.ts +3 -0
- package/import/create/pagesHandler.js +105 -0
- package/import/create/pagesHandler.js.map +1 -0
- package/import/create/templatesHandler.d.ts +3 -0
- package/import/create/templatesHandler.js +101 -0
- package/import/create/templatesHandler.js.map +1 -0
- package/import/pages/ImportPagesController.d.ts +5 -0
- package/import/pages/ImportPagesController.js +29 -0
- package/import/pages/ImportPagesController.js.map +1 -0
- package/import/pages/ImportPagesProcessPages.d.ts +6 -0
- package/import/pages/ImportPagesProcessPages.js +112 -0
- package/import/pages/ImportPagesProcessPages.js.map +1 -0
- package/import/pages/controller/ImportPagesProcessPagesChecker.d.ts +6 -0
- package/import/pages/controller/ImportPagesProcessPagesChecker.js +40 -0
- package/import/pages/controller/ImportPagesProcessPagesChecker.js.map +1 -0
- package/import/pages/controller/ImportPagesProcessZipFile.d.ts +5 -0
- package/import/pages/controller/ImportPagesProcessZipFile.js +71 -0
- package/import/pages/controller/ImportPagesProcessZipFile.js.map +1 -0
- package/import/pages/process/importPage.d.ts +10 -0
- package/import/pages/process/importPage.js +94 -0
- package/import/pages/process/importPage.js.map +1 -0
- package/import/pages/types.d.ts +48 -0
- package/import/pages/types.js +20 -0
- package/import/pages/types.js.map +1 -0
- package/import/process/blocks/ElementIdsProcessor.d.ts +5 -0
- package/import/process/blocks/ElementIdsProcessor.js +26 -0
- package/import/process/blocks/ElementIdsProcessor.js.map +1 -0
- package/import/process/blocks/blocksHandler.d.ts +3 -0
- package/import/process/blocks/blocksHandler.js +169 -0
- package/import/process/blocks/blocksHandler.js.map +1 -0
- package/import/process/blocks/importBlock.d.ts +11 -0
- package/import/process/blocks/importBlock.js +101 -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 +178 -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 +47 -0
- package/import/process/forms/importForm.js.map +1 -0
- package/import/process/index.d.ts +20 -0
- package/import/process/index.js +41 -0
- package/import/process/index.js.map +1 -0
- package/import/process/templates/importTemplate.d.ts +11 -0
- package/import/process/templates/importTemplate.js +70 -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 +174 -0
- package/import/process/templates/templatesHandler.js.map +1 -0
- package/import/utils/deleteS3Folder.d.ts +1 -0
- package/import/utils/deleteS3Folder.js +21 -0
- package/import/utils/deleteS3Folder.js.map +1 -0
- package/import/utils/extractAndUploadZipFileContents.d.ts +7 -0
- package/import/utils/extractAndUploadZipFileContents.js +126 -0
- package/import/utils/extractAndUploadZipFileContents.js.map +1 -0
- package/import/utils/extractZipAndUploadToS3.d.ts +2 -0
- package/import/utils/extractZipAndUploadToS3.js +100 -0
- package/import/utils/extractZipAndUploadToS3.js.map +1 -0
- package/import/utils/getFileNameWithoutExt.d.ts +1 -0
- package/import/utils/getFileNameWithoutExt.js +13 -0
- package/import/utils/getFileNameWithoutExt.js.map +1 -0
- package/import/utils/index.d.ts +9 -0
- package/import/utils/index.js +106 -0
- package/import/utils/index.js.map +1 -0
- package/import/utils/initialStats.d.ts +7 -0
- package/import/utils/initialStats.js +18 -0
- package/import/utils/initialStats.js.map +1 -0
- package/import/utils/prepareDataDirMap.d.ts +6 -0
- package/import/utils/prepareDataDirMap.js +31 -0
- package/import/utils/prepareDataDirMap.js.map +1 -0
- package/import/utils/updateFilesInData.d.ts +8 -0
- package/import/utils/updateFilesInData.js +51 -0
- package/import/utils/updateFilesInData.js.map +1 -0
- package/import/utils/uploadAssets.d.ts +10 -0
- package/import/utils/uploadAssets.js +92 -0
- package/import/utils/uploadAssets.js.map +1 -0
- package/import/utils/uploadFilesFromS3.d.ts +3 -0
- package/import/utils/uploadFilesFromS3.js +21 -0
- package/import/utils/uploadFilesFromS3.js.map +1 -0
- package/mockSecurity.d.ts +1 -1
- package/mockSecurity.js +2 -3
- package/mockSecurity.js.map +1 -0
- package/package.json +37 -51
- package/tasks/common/ChildTasksCleanup.d.ts +12 -0
- package/tasks/common/ChildTasksCleanup.js +64 -0
- package/tasks/common/ChildTasksCleanup.js.map +1 -0
- package/tasks/index.d.ts +1 -0
- package/tasks/index.js +13 -0
- package/tasks/index.js.map +1 -0
- package/tasks/pages/exportPagesCleanupTask.d.ts +3 -0
- package/tasks/pages/exportPagesCleanupTask.js +36 -0
- package/tasks/pages/exportPagesCleanupTask.js.map +1 -0
- package/tasks/pages/exportPagesControllerTask.d.ts +3 -0
- package/tasks/pages/exportPagesControllerTask.js +83 -0
- package/tasks/pages/exportPagesControllerTask.js.map +1 -0
- package/tasks/pages/exportPagesZipPagesTask.d.ts +3 -0
- package/tasks/pages/exportPagesZipPagesTask.js +39 -0
- package/tasks/pages/exportPagesZipPagesTask.js.map +1 -0
- package/tasks/pages/importPagesControllerTask.d.ts +3 -0
- package/tasks/pages/importPagesControllerTask.js +39 -0
- package/tasks/pages/importPagesControllerTask.js.map +1 -0
- package/tasks/pages/importPagesProcessPageTask.d.ts +3 -0
- package/tasks/pages/importPagesProcessPageTask.js +39 -0
- package/tasks/pages/importPagesProcessPageTask.js.map +1 -0
- package/tasks/pages/index.d.ts +1 -0
- package/tasks/pages/index.js +17 -0
- package/tasks/pages/index.js.map +1 -0
- package/types.d.ts +91 -72
- package/types.js +68 -21
- package/types.js.map +1 -0
- package/utils/ZipFiles.d.ts +11 -0
- package/utils/ZipFiles.js +124 -0
- package/utils/ZipFiles.js.map +1 -0
- package/exportPages/combine/index.d.ts +0 -19
- package/exportPages/combine/index.js +0 -88
- package/exportPages/process/index.d.ts +0 -26
- package/exportPages/process/index.js +0 -204
- package/exportPages/s3Stream.d.ts +0 -29
- package/exportPages/s3Stream.js +0 -106
- package/exportPages/utils.d.ts +0 -13
- package/exportPages/utils.js +0 -113
- package/exportPages/zipper.js +0 -137
- package/graphql/crud/pageImportExportTasks.crud.d.ts +0 -5
- package/graphql/crud/pageImportExportTasks.crud.js +0 -394
- package/graphql/graphql/pageImportExportTasks.gql.d.ts +0 -4
- package/graphql/graphql/pageImportExportTasks.gql.js +0 -80
- package/importPages/client.d.ts +0 -7
- package/importPages/client.js +0 -40
- package/importPages/create/index.d.ts +0 -27
- package/importPages/create/index.js +0 -109
- package/importPages/process/index.d.ts +0 -25
- package/importPages/process/index.js +0 -183
- package/importPages/utils.d.ts +0 -43
- package/importPages/utils.js +0 -539
|
@@ -1,162 +1,273 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
13
|
-
|
|
9
|
+
var _pubsub = require("@webiny/pubsub");
|
|
14
10
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
15
|
-
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
11
|
+
var _api = require("@webiny/api");
|
|
12
|
+
var _PagesPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions");
|
|
13
|
+
var _types = require("../../export/pages/types");
|
|
14
|
+
var _types2 = require("../../import/pages/types");
|
|
15
|
+
var _default = exports.default = new _api.ContextPlugin(context => {
|
|
16
|
+
const pagesPermissions = new _PagesPermissions.PagesPermissions({
|
|
17
|
+
getPermissions: () => context.security.getPermissions("pb.page"),
|
|
18
|
+
getIdentity: context.security.getIdentity,
|
|
19
|
+
fullAccessPermissionName: "pb.*"
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// Export
|
|
23
|
+
const onPagesBeforeExport = (0, _pubsub.createTopic)("PageBuilder.onPagesBeforeExport");
|
|
24
|
+
const onPagesAfterExport = (0, _pubsub.createTopic)("PageBuilder.onPagesAfterExport");
|
|
25
|
+
|
|
26
|
+
// Import
|
|
27
|
+
const onPagesBeforeImport = (0, _pubsub.createTopic)("PageBuilder.onPagesBeforeImport");
|
|
28
|
+
const onPagesAfterImport = (0, _pubsub.createTopic)("PageBuilder.onPagesAfterImport");
|
|
29
|
+
context.pageBuilder.pages = {
|
|
30
|
+
onPagesBeforeExport,
|
|
31
|
+
onPagesAfterExport,
|
|
32
|
+
onPagesBeforeImport,
|
|
33
|
+
onPagesAfterImport,
|
|
34
|
+
/**
|
|
35
|
+
* Background task implementation.
|
|
36
|
+
*/
|
|
37
|
+
getExportPagesTask: async id => {
|
|
38
|
+
const task = await context.tasks.getTask(id);
|
|
39
|
+
if (!task || task.definitionId !== _types.PageExportTask.Controller) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const totalPages = task.input.totalPages || 0;
|
|
43
|
+
const data = {
|
|
44
|
+
url: task.output?.url,
|
|
45
|
+
error: task.output?.error
|
|
46
|
+
};
|
|
47
|
+
const {
|
|
48
|
+
items: subTasks
|
|
49
|
+
} = await context.tasks.listTasks({
|
|
50
|
+
where: {
|
|
51
|
+
parentId: task.id,
|
|
52
|
+
definitionId: _types.PageExportTask.ZipPages
|
|
53
|
+
},
|
|
54
|
+
limit: 10000
|
|
55
|
+
});
|
|
56
|
+
const stats = {
|
|
57
|
+
completed: [],
|
|
58
|
+
failed: []
|
|
59
|
+
};
|
|
60
|
+
for (const subTask of subTasks) {
|
|
61
|
+
if (!subTask.output) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
const completed = Object.keys(subTask.output.done || []);
|
|
65
|
+
const failed = subTask.output.failed || [];
|
|
66
|
+
stats.completed.push(...completed);
|
|
67
|
+
stats.failed.push(...failed);
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
...task,
|
|
71
|
+
status: task.taskStatus,
|
|
72
|
+
data,
|
|
73
|
+
stats: {
|
|
74
|
+
total: totalPages,
|
|
75
|
+
completed: stats.completed.length,
|
|
76
|
+
failed: stats.failed.length
|
|
60
77
|
}
|
|
78
|
+
};
|
|
79
|
+
},
|
|
80
|
+
async getImportPagesTask(id) {
|
|
81
|
+
const task = await context.tasks.getTask(id);
|
|
82
|
+
if (!task || task.definitionId !== _types2.PageImportTask.Controller) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
const data = {
|
|
86
|
+
error: task.output?.error
|
|
87
|
+
};
|
|
88
|
+
const {
|
|
89
|
+
items: subTasks
|
|
90
|
+
} = await context.tasks.listTasks({
|
|
91
|
+
where: {
|
|
92
|
+
parentId: task.id,
|
|
93
|
+
definitionId: _types2.PageImportTask.Process
|
|
94
|
+
},
|
|
95
|
+
limit: 10000
|
|
61
96
|
});
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
payload: {
|
|
66
|
-
category: categorySlug,
|
|
67
|
-
zipFileKey,
|
|
68
|
-
zipFileUrl,
|
|
69
|
-
task,
|
|
70
|
-
identity: context.security.getIdentity()
|
|
97
|
+
const stats = subTasks.reduce((result, item) => {
|
|
98
|
+
if (!item.output) {
|
|
99
|
+
return result;
|
|
71
100
|
}
|
|
101
|
+
return {
|
|
102
|
+
...result,
|
|
103
|
+
completed: result.completed + (item.output.done || []).length,
|
|
104
|
+
failed: result.failed + (item.output.failed || []).length
|
|
105
|
+
};
|
|
106
|
+
}, {
|
|
107
|
+
total: task.output?.total || 0,
|
|
108
|
+
completed: 0,
|
|
109
|
+
failed: 0
|
|
72
110
|
});
|
|
73
111
|
return {
|
|
74
|
-
task
|
|
112
|
+
...task,
|
|
113
|
+
status: task.taskStatus,
|
|
114
|
+
data,
|
|
115
|
+
stats
|
|
75
116
|
};
|
|
76
117
|
},
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}) {
|
|
85
|
-
await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
|
118
|
+
async importPages(params) {
|
|
119
|
+
const {
|
|
120
|
+
category: categorySlug,
|
|
121
|
+
zipFileUrl,
|
|
122
|
+
meta
|
|
123
|
+
} = params;
|
|
124
|
+
await pagesPermissions.ensure({
|
|
86
125
|
rwd: "w"
|
|
87
126
|
});
|
|
88
|
-
let pageIds = initialPageIds; // If no ids are provided then it means we want to export all pages
|
|
89
|
-
|
|
90
|
-
if (!initialPageIds || Array.isArray(initialPageIds) && initialPageIds.length === 0) {
|
|
91
|
-
pageIds = [];
|
|
92
|
-
let pages = [];
|
|
93
|
-
let meta = {
|
|
94
|
-
hasMoreItems: true,
|
|
95
|
-
cursor: null
|
|
96
|
-
}; // Paginate pages
|
|
97
127
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
sort: sort,
|
|
103
|
-
search: search
|
|
104
|
-
}); // Save page ids
|
|
105
|
-
|
|
106
|
-
pages.forEach(page => pageIds.push(page.id));
|
|
107
|
-
}
|
|
128
|
+
// Bail out early if category not found
|
|
129
|
+
const category = await context.pageBuilder.getCategory(categorySlug);
|
|
130
|
+
if (!category) {
|
|
131
|
+
throw new _handlerGraphql.NotFoundError(`Category with slug "${categorySlug}" not found.`);
|
|
108
132
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
status: _types.PageImportExportTaskStatus.PENDING
|
|
117
|
-
});
|
|
118
|
-
const exportPagesDataKey = `${_utils2.EXPORT_PAGES_FOLDER_KEY}/${task.id}`; // For each page create a sub task and invoke the process handler.
|
|
119
|
-
|
|
120
|
-
for (let i = 0; i < pageIds.length; i++) {
|
|
121
|
-
const pageId = pageIds[i]; // Create sub task.
|
|
122
|
-
|
|
123
|
-
await context.pageBuilder.pageImportExportTask.createSubTask(task.id, (0, _utils.zeroPad)(i + 1), {
|
|
124
|
-
status: _types.PageImportExportTaskStatus.PENDING,
|
|
133
|
+
const identity = context.security.getIdentity();
|
|
134
|
+
try {
|
|
135
|
+
await onPagesBeforeImport.publish({
|
|
136
|
+
params
|
|
137
|
+
});
|
|
138
|
+
const task = await context.tasks.trigger({
|
|
139
|
+
definition: _types2.PageImportTask.Controller,
|
|
125
140
|
input: {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
141
|
+
category: categorySlug,
|
|
142
|
+
zipFileUrl,
|
|
143
|
+
meta,
|
|
144
|
+
identity: {
|
|
145
|
+
id: identity.id,
|
|
146
|
+
displayName: identity.displayName || "unknown",
|
|
147
|
+
type: identity.type
|
|
148
|
+
}
|
|
129
149
|
}
|
|
130
150
|
});
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
151
|
+
await onPagesAfterImport.publish({
|
|
152
|
+
params
|
|
153
|
+
});
|
|
154
|
+
return {
|
|
155
|
+
task: {
|
|
156
|
+
id: task.id,
|
|
157
|
+
status: task.taskStatus,
|
|
158
|
+
data: {},
|
|
159
|
+
createdOn: task.createdOn,
|
|
160
|
+
createdBy: task.createdBy,
|
|
161
|
+
stats: {
|
|
162
|
+
total: 0,
|
|
163
|
+
completed: 0,
|
|
164
|
+
failed: 0
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
} catch (ex) {
|
|
169
|
+
console.error(ex);
|
|
170
|
+
throw ex;
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
async exportPages(params) {
|
|
174
|
+
await pagesPermissions.ensure({
|
|
175
|
+
rwd: "w"
|
|
176
|
+
});
|
|
177
|
+
const listPages = input => {
|
|
178
|
+
const {
|
|
179
|
+
revisionType,
|
|
180
|
+
...conditions
|
|
181
|
+
} = input;
|
|
182
|
+
if (revisionType === "published") {
|
|
183
|
+
return context.pageBuilder.listPublishedPages(conditions);
|
|
140
184
|
}
|
|
141
|
-
|
|
185
|
+
return context.pageBuilder.listLatestPages(conditions);
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* We just need to check if even a single page exists for the provided params.
|
|
189
|
+
* If not, no point in starting a background task.
|
|
190
|
+
*/
|
|
191
|
+
const [pages, meta] = await listPages({
|
|
192
|
+
...params,
|
|
193
|
+
limit: 1
|
|
194
|
+
});
|
|
195
|
+
if (!pages.length || meta.totalCount === 0) {
|
|
196
|
+
throw new _error.default("Cannot export pages - no pages found for provided inputs.", "EMPTY_EXPORT_NO_PAGES_FOUND");
|
|
197
|
+
}
|
|
142
198
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
199
|
+
// Create the main task for page export.
|
|
200
|
+
try {
|
|
201
|
+
await onPagesBeforeExport.publish({
|
|
202
|
+
params
|
|
203
|
+
});
|
|
204
|
+
const task = await context.tasks.trigger({
|
|
205
|
+
input: {
|
|
206
|
+
...params,
|
|
207
|
+
type: params.revisionType,
|
|
208
|
+
totalPages: meta.totalCount
|
|
209
|
+
},
|
|
210
|
+
definition: _types.PageExportTask.Controller
|
|
211
|
+
});
|
|
212
|
+
await onPagesAfterExport.publish({
|
|
213
|
+
params
|
|
214
|
+
});
|
|
215
|
+
return {
|
|
216
|
+
task: {
|
|
217
|
+
id: task.id,
|
|
218
|
+
status: task.taskStatus,
|
|
219
|
+
data: {},
|
|
220
|
+
createdOn: task.createdOn,
|
|
221
|
+
createdBy: task.createdBy,
|
|
222
|
+
stats: {
|
|
223
|
+
total: meta.totalCount,
|
|
224
|
+
completed: 0,
|
|
225
|
+
failed: 0
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
} catch (ex) {
|
|
230
|
+
console.error(ex);
|
|
231
|
+
throw ex;
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
listImportedPages: async taskId => {
|
|
235
|
+
const task = await context.tasks.getTask(taskId);
|
|
236
|
+
if (!task || task.definitionId !== _types2.PageImportTask.Controller) {
|
|
237
|
+
throw new _handlerGraphql.NotFoundError(`Task with id "${taskId}" not found.`);
|
|
238
|
+
}
|
|
239
|
+
const {
|
|
240
|
+
items: subTasks
|
|
241
|
+
} = await context.tasks.listTasks({
|
|
242
|
+
where: {
|
|
243
|
+
parentId: task.id,
|
|
244
|
+
definitionId: _types2.PageImportTask.Process
|
|
245
|
+
},
|
|
246
|
+
limit: 10000
|
|
247
|
+
});
|
|
248
|
+
const pageIdList = subTasks.reduce((collection, subTask) => {
|
|
249
|
+
if (!subTask.output?.pageIdList) {
|
|
250
|
+
return collection;
|
|
150
251
|
}
|
|
252
|
+
collection.push(...subTask.output.pageIdList);
|
|
253
|
+
return collection;
|
|
254
|
+
}, []);
|
|
255
|
+
const result = await context.pageBuilder.listLatestPages({
|
|
256
|
+
where: {
|
|
257
|
+
pid_in: pageIdList
|
|
258
|
+
},
|
|
259
|
+
limit: 10000
|
|
260
|
+
});
|
|
261
|
+
const [pages] = result;
|
|
262
|
+
return pages.map(page => {
|
|
263
|
+
return {
|
|
264
|
+
id: page.id,
|
|
265
|
+
title: page.title,
|
|
266
|
+
version: page.version
|
|
267
|
+
};
|
|
151
268
|
});
|
|
152
|
-
return {
|
|
153
|
-
task
|
|
154
|
-
};
|
|
155
269
|
}
|
|
156
|
-
|
|
157
|
-
}; // Modify context
|
|
158
|
-
|
|
159
|
-
context.pageBuilder.pages = _objectSpread(_objectSpread({}, context.pageBuilder.pages), importExportCrud);
|
|
270
|
+
};
|
|
160
271
|
});
|
|
161
272
|
|
|
162
|
-
|
|
273
|
+
//# sourceMappingURL=pages.crud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_pubsub","_handlerGraphql","_api","_PagesPermissions","_types","_types2","_default","exports","default","ContextPlugin","context","pagesPermissions","PagesPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","onPagesBeforeExport","createTopic","onPagesAfterExport","onPagesBeforeImport","onPagesAfterImport","pageBuilder","pages","getExportPagesTask","id","task","tasks","getTask","definitionId","PageExportTask","Controller","totalPages","input","data","url","output","error","items","subTasks","listTasks","where","parentId","ZipPages","limit","stats","completed","failed","subTask","Object","keys","done","push","status","taskStatus","total","length","getImportPagesTask","PageImportTask","Process","reduce","result","item","importPages","params","category","categorySlug","zipFileUrl","meta","ensure","rwd","getCategory","NotFoundError","identity","publish","trigger","definition","displayName","type","createdOn","createdBy","ex","console","exportPages","listPages","revisionType","conditions","listPublishedPages","listLatestPages","totalCount","WebinyError","listImportedPages","taskId","pageIdList","collection","pid_in","map","page","title","version"],"sources":["pages.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport type {\n ExportPagesParams,\n OnPagesAfterExportTopicParams,\n OnPagesAfterImportTopicParams,\n OnPagesBeforeExportTopicParams,\n OnPagesBeforeImportTopicParams,\n PbExportPagesTaskData,\n PbImportExportContext,\n PbImportPagesTaskData,\n PbImportPagesTaskStats\n} from \"~/types\";\nimport { PagesPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions\";\nimport type {\n IExportPagesControllerInput,\n IExportPagesControllerOutput,\n IExportPagesZipPagesInput,\n IExportPagesZipPagesOutput\n} from \"~/export/pages/types\";\nimport { PageExportTask } from \"~/export/pages/types\";\nimport type {\n IImportPagesControllerInput,\n IImportPagesControllerOutput,\n IImportPagesProcessPagesInput,\n IImportPagesProcessPagesOutput\n} from \"~/import/pages/types\";\nimport { PageImportTask } from \"~/import/pages/types\";\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 // Export\n const onPagesBeforeExport = createTopic<OnPagesBeforeExportTopicParams>(\n \"PageBuilder.onPagesBeforeExport\"\n );\n const onPagesAfterExport = createTopic<OnPagesAfterExportTopicParams>(\n \"PageBuilder.onPagesAfterExport\"\n );\n\n // Import\n const onPagesBeforeImport = createTopic<OnPagesBeforeImportTopicParams>(\n \"PageBuilder.onPagesBeforeImport\"\n );\n const onPagesAfterImport = createTopic<OnPagesAfterImportTopicParams>(\n \"PageBuilder.onPagesAfterImport\"\n );\n\n context.pageBuilder.pages = {\n onPagesBeforeExport,\n onPagesAfterExport,\n onPagesBeforeImport,\n onPagesAfterImport,\n /**\n * Background task implementation.\n */\n getExportPagesTask: async id => {\n const task = await context.tasks.getTask<\n IExportPagesControllerInput,\n IExportPagesControllerOutput\n >(id);\n\n if (!task || task.definitionId !== PageExportTask.Controller) {\n return null;\n }\n\n const totalPages = task.input.totalPages || 0;\n\n const data: PbExportPagesTaskData = {\n url: task.output?.url,\n error: task.output?.error\n };\n\n const { items: subTasks } = await context.tasks.listTasks<\n IExportPagesZipPagesInput,\n IExportPagesZipPagesOutput\n >({\n where: {\n parentId: task.id,\n definitionId: PageExportTask.ZipPages\n },\n limit: 10000\n });\n\n const stats = {\n completed: [] as string[],\n failed: [] as string[]\n };\n\n for (const subTask of subTasks) {\n if (!subTask.output) {\n continue;\n }\n const completed = Object.keys(subTask.output.done || []);\n const failed = subTask.output.failed || [];\n\n stats.completed.push(...completed);\n stats.failed.push(...failed);\n }\n\n return {\n ...task,\n status: task.taskStatus,\n data,\n stats: {\n total: totalPages,\n completed: stats.completed.length,\n failed: stats.failed.length\n }\n };\n },\n async getImportPagesTask(id) {\n const task = await context.tasks.getTask<\n IImportPagesControllerInput,\n IImportPagesControllerOutput\n >(id);\n\n if (!task || task.definitionId !== PageImportTask.Controller) {\n return null;\n }\n\n const data: PbImportPagesTaskData = {\n error: task.output?.error\n };\n\n const { items: subTasks } = await context.tasks.listTasks<\n IImportPagesProcessPagesInput,\n IImportPagesProcessPagesOutput\n >({\n where: {\n parentId: task.id,\n definitionId: PageImportTask.Process\n },\n limit: 10000\n });\n\n const stats = subTasks.reduce<PbImportPagesTaskStats>(\n (result, item) => {\n if (!item.output) {\n return result;\n }\n return {\n ...result,\n completed: result.completed + (item.output.done || []).length,\n failed: result.failed + (item.output.failed || []).length\n };\n },\n {\n total: task.output?.total || 0,\n completed: 0,\n failed: 0\n }\n );\n\n return {\n ...task,\n status: task.taskStatus,\n data,\n stats\n };\n },\n async importPages(params) {\n const { category: categorySlug, zipFileUrl, meta } = params;\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 const identity = context.security.getIdentity();\n\n try {\n await onPagesBeforeImport.publish({ params });\n const task = await context.tasks.trigger<IImportPagesControllerInput>({\n definition: PageImportTask.Controller,\n input: {\n category: categorySlug,\n zipFileUrl,\n meta,\n identity: {\n id: identity.id,\n displayName: identity.displayName || \"unknown\",\n type: identity.type\n }\n }\n });\n await onPagesAfterImport.publish({ params });\n return {\n task: {\n id: task.id,\n status: task.taskStatus,\n data: {},\n createdOn: task.createdOn,\n createdBy: task.createdBy,\n stats: {\n total: 0,\n completed: 0,\n failed: 0\n }\n }\n };\n } catch (ex) {\n console.error(ex);\n throw ex;\n }\n },\n\n async exportPages(params) {\n await pagesPermissions.ensure({ rwd: \"w\" });\n\n const listPages = (input: ExportPagesParams) => {\n const { revisionType, ...conditions } = input;\n if (revisionType === \"published\") {\n return context.pageBuilder.listPublishedPages(conditions);\n }\n return context.pageBuilder.listLatestPages(conditions);\n };\n /**\n * We just need to check if even a single page exists for the provided params.\n * If not, no point in starting a background task.\n */\n const [pages, meta] = await listPages({\n ...params,\n limit: 1\n });\n if (!pages.length || meta.totalCount === 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 try {\n await onPagesBeforeExport.publish({ params });\n const task = await context.tasks.trigger<IExportPagesControllerInput>({\n input: {\n ...params,\n type: params.revisionType,\n totalPages: meta.totalCount\n },\n definition: PageExportTask.Controller\n });\n await onPagesAfterExport.publish({ params });\n return {\n task: {\n id: task.id,\n status: task.taskStatus,\n data: {},\n createdOn: task.createdOn,\n createdBy: task.createdBy,\n stats: {\n total: meta.totalCount,\n completed: 0,\n failed: 0\n }\n }\n };\n } catch (ex) {\n console.error(ex);\n throw ex;\n }\n },\n listImportedPages: async taskId => {\n const task = await context.tasks.getTask<\n IImportPagesControllerInput,\n IImportPagesControllerOutput\n >(taskId);\n\n if (!task || task.definitionId !== PageImportTask.Controller) {\n throw new NotFoundError(`Task with id \"${taskId}\" not found.`);\n }\n const { items: subTasks } = await context.tasks.listTasks<\n IImportPagesProcessPagesInput,\n IImportPagesProcessPagesOutput\n >({\n where: {\n parentId: task.id,\n definitionId: PageImportTask.Process\n },\n limit: 10000\n });\n const pageIdList = subTasks.reduce<string[]>((collection, subTask) => {\n if (!subTask.output?.pageIdList) {\n return collection;\n }\n collection.push(...subTask.output.pageIdList);\n return collection;\n }, []);\n\n const result = await context.pageBuilder.listLatestPages({\n where: {\n pid_in: pageIdList\n },\n limit: 10000\n });\n\n const [pages] = result;\n return pages.map(page => {\n return {\n id: page.id,\n title: page.title,\n version: page.version\n };\n });\n }\n };\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,156 @@
|
|
|
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 _pubsub = require("@webiny/pubsub");
|
|
10
|
+
var _api = require("@webiny/api");
|
|
11
|
+
var _types = require("../../types");
|
|
12
|
+
var _client = require("../../client");
|
|
13
|
+
var _utils = require("../../import/utils");
|
|
14
|
+
var _utils2 = require("@webiny/utils");
|
|
15
|
+
var _PageTemplatesPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PageTemplatesPermissions");
|
|
16
|
+
const EXPORT_TEMPLATES_FOLDER_KEY = "WEBINY_PB_EXPORT_TEMPLATE";
|
|
17
|
+
const EXPORT_TEMPLATES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
|
|
18
|
+
const IMPORT_TEMPLATES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
|
|
19
|
+
var _default = exports.default = new _api.ContextPlugin(context => {
|
|
20
|
+
const pagesPermissions = new _PageTemplatesPermissions.PageTemplatesPermissions({
|
|
21
|
+
getPermissions: () => context.security.getPermissions("pb.template"),
|
|
22
|
+
getIdentity: context.security.getIdentity,
|
|
23
|
+
fullAccessPermissionName: "pb.*"
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
// Export
|
|
27
|
+
const onTemplatesBeforeExport = (0, _pubsub.createTopic)("PageBuilder.onTemplatesBeforeExport");
|
|
28
|
+
const onTemplatesAfterExport = (0, _pubsub.createTopic)("PageBuilder.onTemplatesAfterExport");
|
|
29
|
+
|
|
30
|
+
// Import
|
|
31
|
+
const onTemplatesBeforeImport = (0, _pubsub.createTopic)("PageBuilder.onTemplatesBeforeImport");
|
|
32
|
+
const onTemplatesAfterImport = (0, _pubsub.createTopic)("PageBuilder.onTemplatesAfterImport");
|
|
33
|
+
const importExportCrud = {
|
|
34
|
+
onTemplatesBeforeExport,
|
|
35
|
+
onTemplatesAfterExport,
|
|
36
|
+
onTemplatesBeforeImport,
|
|
37
|
+
onTemplatesAfterImport,
|
|
38
|
+
async importTemplates(params) {
|
|
39
|
+
const {
|
|
40
|
+
zipFileUrl
|
|
41
|
+
} = params;
|
|
42
|
+
await pagesPermissions.ensure({
|
|
43
|
+
rwd: "w"
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
// Create a task for import template
|
|
47
|
+
const task = await context.pageBuilder.importExportTask.createTask({
|
|
48
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
|
49
|
+
input: {
|
|
50
|
+
zipFileUrl
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
/**
|
|
54
|
+
* Import Templates
|
|
55
|
+
* ImportTemplates
|
|
56
|
+
* importTemplates
|
|
57
|
+
*/
|
|
58
|
+
await onTemplatesBeforeImport.publish({
|
|
59
|
+
params
|
|
60
|
+
});
|
|
61
|
+
await (0, _client.invokeHandlerClient)({
|
|
62
|
+
context,
|
|
63
|
+
name: IMPORT_TEMPLATES_CREATE_HANDLER,
|
|
64
|
+
payload: {
|
|
65
|
+
zipFileUrl,
|
|
66
|
+
task,
|
|
67
|
+
type: "template",
|
|
68
|
+
identity: context.security.getIdentity()
|
|
69
|
+
},
|
|
70
|
+
description: "Import Templates - create"
|
|
71
|
+
});
|
|
72
|
+
await onTemplatesAfterImport.publish({
|
|
73
|
+
params
|
|
74
|
+
});
|
|
75
|
+
return {
|
|
76
|
+
task
|
|
77
|
+
};
|
|
78
|
+
},
|
|
79
|
+
async exportTemplates(params) {
|
|
80
|
+
const {
|
|
81
|
+
ids: initialTemplateIds
|
|
82
|
+
} = params;
|
|
83
|
+
await pagesPermissions.ensure({
|
|
84
|
+
rwd: "w"
|
|
85
|
+
});
|
|
86
|
+
let templateIds = initialTemplateIds || [];
|
|
87
|
+
// If no ids are provided then it means we want to export all templates
|
|
88
|
+
if (!initialTemplateIds || Array.isArray(initialTemplateIds) && initialTemplateIds.length === 0) {
|
|
89
|
+
templateIds = [];
|
|
90
|
+
const templates = await context.pageBuilder.listPageTemplates();
|
|
91
|
+
// Save template ids
|
|
92
|
+
templates.forEach(template => templateIds.push(template.id));
|
|
93
|
+
}
|
|
94
|
+
if (templateIds.length === 0) {
|
|
95
|
+
throw new _error.default("Cannot export templates - no templates found for provided inputs.", "EMPTY_EXPORT_NO_TEMPLATES_FOUND");
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Create the main task for templates export.
|
|
99
|
+
const task = await context.pageBuilder.importExportTask.createTask({
|
|
100
|
+
status: _types.ImportExportTaskStatus.PENDING
|
|
101
|
+
});
|
|
102
|
+
const exportTemplatesDataKey = `${EXPORT_TEMPLATES_FOLDER_KEY}/${task.id}`;
|
|
103
|
+
// For each template create a sub task and invoke the process handler.
|
|
104
|
+
for (let i = 0; i < templateIds.length; i++) {
|
|
105
|
+
const templateId = templateIds[i];
|
|
106
|
+
// Create sub task.
|
|
107
|
+
await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
|
|
108
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
|
109
|
+
input: {
|
|
110
|
+
templateId,
|
|
111
|
+
exportTemplatesDataKey
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
// Update main task status.
|
|
116
|
+
await context.pageBuilder.importExportTask.updateTask(task.id, {
|
|
117
|
+
status: _types.ImportExportTaskStatus.PROCESSING,
|
|
118
|
+
stats: (0, _utils.initialStats)(templateIds.length),
|
|
119
|
+
input: {
|
|
120
|
+
exportTemplatesDataKey
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Export Templates
|
|
126
|
+
* ExportTemplates
|
|
127
|
+
* exportTemplates
|
|
128
|
+
*/
|
|
129
|
+
await onTemplatesBeforeExport.publish({
|
|
130
|
+
params
|
|
131
|
+
});
|
|
132
|
+
// Invoke handler.
|
|
133
|
+
await (0, _client.invokeHandlerClient)({
|
|
134
|
+
context,
|
|
135
|
+
name: EXPORT_TEMPLATES_PROCESS_HANDLER,
|
|
136
|
+
payload: {
|
|
137
|
+
taskId: task.id,
|
|
138
|
+
subTaskIndex: 1,
|
|
139
|
+
type: "template",
|
|
140
|
+
identity: context.security.getIdentity()
|
|
141
|
+
},
|
|
142
|
+
description: "Export templates - process"
|
|
143
|
+
});
|
|
144
|
+
await onTemplatesAfterExport.publish({
|
|
145
|
+
params
|
|
146
|
+
});
|
|
147
|
+
return {
|
|
148
|
+
task
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
// Modify context
|
|
153
|
+
context.pageBuilder.templates = importExportCrud;
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
//# sourceMappingURL=templates.crud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_pubsub","_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","exports","default","ContextPlugin","context","pagesPermissions","PageTemplatesPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","onTemplatesBeforeExport","createTopic","onTemplatesAfterExport","onTemplatesBeforeImport","onTemplatesAfterImport","importExportCrud","importTemplates","params","zipFileUrl","ensure","rwd","task","pageBuilder","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","publish","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"],"sources":["templates.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport type {\n TemplatesImportExportCrud,\n PbImportExportContext,\n OnTemplatesBeforeExportTopicParams,\n OnTemplatesAfterExportTopicParams,\n OnTemplatesBeforeImportTopicParams,\n OnTemplatesAfterImportTopicParams\n} from \"~/types\";\nimport { ImportExportTaskStatus } from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport type { Payload as CreateHandlerPayload } from \"~/import/create\";\nimport { initialStats } from \"~/import/utils\";\nimport type { 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 // Export\n const onTemplatesBeforeExport = createTopic<OnTemplatesBeforeExportTopicParams>(\n \"PageBuilder.onTemplatesBeforeExport\"\n );\n const onTemplatesAfterExport = createTopic<OnTemplatesAfterExportTopicParams>(\n \"PageBuilder.onTemplatesAfterExport\"\n );\n\n // Import\n const onTemplatesBeforeImport = createTopic<OnTemplatesBeforeImportTopicParams>(\n \"PageBuilder.onTemplatesBeforeImport\"\n );\n const onTemplatesAfterImport = createTopic<OnTemplatesAfterImportTopicParams>(\n \"PageBuilder.onTemplatesAfterImport\"\n );\n\n const importExportCrud: TemplatesImportExportCrud = {\n onTemplatesBeforeExport,\n onTemplatesAfterExport,\n onTemplatesBeforeImport,\n onTemplatesAfterImport,\n async importTemplates(params) {\n const { zipFileUrl } = params;\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 onTemplatesBeforeImport.publish({ params });\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 await onTemplatesAfterImport.publish({ params });\n\n return {\n task\n };\n },\n\n async exportTemplates(params) {\n const { ids: initialTemplateIds } = params;\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 await onTemplatesBeforeExport.publish({ params });\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 await onTemplatesAfterExport.publish({ params });\n\n return { task };\n }\n };\n // Modify context\n context.pageBuilder.templates = importExportCrud;\n});\n"],"mappings":"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","ignoreList":[]}
|
package/graphql/crud.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const _default: (params:
|
|
1
|
+
import type { ImportExportPluginsParams } from "./types";
|
|
2
|
+
declare const _default: (params: ImportExportPluginsParams) => import("@webiny/api").ContextPlugin<import("./types").PbImportExportContext>[];
|
|
3
3
|
export default _default;
|