@webiny/api-page-builder-import-export 0.0.0-unstable.1e66d121db → 0.0.0-unstable.2aaa1916d9
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 +2 -2
- package/client.js +12 -25
- package/client.js.map +1 -1
- 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/{exportPages → export}/combine/index.d.ts +4 -3
- 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/{exportPages → export}/process/index.d.ts +5 -7
- 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/{exportPages → export}/s3Stream.js +27 -42
- 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 +12 -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 +2 -2
- package/graphql/crud/pages.crud.js +241 -138
- package/graphql/crud/pages.crud.js.map +1 -1
- 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 +7 -7
- package/graphql/crud.js.map +1 -1
- 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 +104 -26
- 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 +3 -3
- package/graphql/graphql/utils/resolve.js +15 -7
- package/graphql/graphql/utils/resolve.js.map +1 -1
- package/graphql/graphql.d.ts +1 -1
- package/graphql/graphql.js +6 -6
- package/graphql/graphql.js.map +1 -1
- package/graphql/index.d.ts +2 -2
- package/graphql/index.js +4 -6
- package/graphql/index.js.map +1 -1
- package/graphql/types.d.ts +237 -37
- package/graphql/types.js +3 -1
- package/graphql/types.js.map +1 -1
- 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/{importPages → import}/process/index.d.ts +6 -4
- 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 -1
- package/package.json +36 -52
- 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 +83 -65
- package/types.js +68 -21
- package/types.js.map +1 -1
- package/utils/ZipFiles.d.ts +11 -0
- package/utils/ZipFiles.js +124 -0
- package/utils/ZipFiles.js.map +1 -0
- package/exportPages/combine/index.js +0 -114
- package/exportPages/combine/index.js.map +0 -1
- package/exportPages/process/index.js +0 -208
- package/exportPages/process/index.js.map +0 -1
- package/exportPages/s3Stream.d.ts +0 -31
- package/exportPages/s3Stream.js.map +0 -1
- package/exportPages/utils.d.ts +0 -13
- package/exportPages/utils.js +0 -113
- package/exportPages/utils.js.map +0 -1
- package/exportPages/zipper.js +0 -135
- package/exportPages/zipper.js.map +0 -1
- package/graphql/crud/pageImportExportTasks.crud.d.ts +0 -5
- package/graphql/crud/pageImportExportTasks.crud.js +0 -411
- package/graphql/crud/pageImportExportTasks.crud.js.map +0 -1
- package/graphql/graphql/pageImportExportTasks.gql.d.ts +0 -4
- package/graphql/graphql/pageImportExportTasks.gql.js +0 -80
- package/graphql/graphql/pageImportExportTasks.gql.js.map +0 -1
- package/importPages/create/index.d.ts +0 -22
- package/importPages/create/index.js +0 -118
- package/importPages/create/index.js.map +0 -1
- package/importPages/process/index.js +0 -185
- package/importPages/process/index.js.map +0 -1
- package/importPages/utils.d.ts +0 -50
- package/importPages/utils.js +0 -570
- package/importPages/utils.js.map +0 -1
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.formsHandler = void 0;
|
|
7
|
+
var _types = require("../../types");
|
|
8
|
+
var _utils = require("../utils");
|
|
9
|
+
var _client = require("../../client");
|
|
10
|
+
var _mockSecurity = require("../../mockSecurity");
|
|
11
|
+
var _utils2 = require("@webiny/utils");
|
|
12
|
+
var _extractAndUploadZipFileContents = require("../utils/extractAndUploadZipFileContents");
|
|
13
|
+
const formsHandler = async (configuration, payload, context) => {
|
|
14
|
+
const log = console.log;
|
|
15
|
+
const {
|
|
16
|
+
pageBuilder
|
|
17
|
+
} = context;
|
|
18
|
+
const {
|
|
19
|
+
task,
|
|
20
|
+
type,
|
|
21
|
+
category,
|
|
22
|
+
zipFileUrl,
|
|
23
|
+
identity,
|
|
24
|
+
meta
|
|
25
|
+
} = payload;
|
|
26
|
+
try {
|
|
27
|
+
log("RUNNING Import Forms Create");
|
|
28
|
+
if (!zipFileUrl) {
|
|
29
|
+
return {
|
|
30
|
+
data: null,
|
|
31
|
+
error: {
|
|
32
|
+
message: `Missing "zipFileUrl"!`
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
(0, _mockSecurity.mockSecurity)(identity, context);
|
|
37
|
+
// Step 1: Read the zip file
|
|
38
|
+
const formImportDataList = await (0, _extractAndUploadZipFileContents.extractAndUploadZipFileContents)(zipFileUrl);
|
|
39
|
+
|
|
40
|
+
// For each form create a subtask and invoke the process handler
|
|
41
|
+
for (let i = 0; i < formImportDataList.length; i++) {
|
|
42
|
+
const formsDirMap = formImportDataList[i];
|
|
43
|
+
// Create sub-task
|
|
44
|
+
const subtask = await pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
|
|
45
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
|
46
|
+
data: {
|
|
47
|
+
formKey: formsDirMap.key,
|
|
48
|
+
category,
|
|
49
|
+
zipFileUrl,
|
|
50
|
+
meta,
|
|
51
|
+
input: {
|
|
52
|
+
fileUploadsData: formsDirMap
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
log(`Added SUB_TASK "${subtask.id}" to queue.`);
|
|
57
|
+
}
|
|
58
|
+
// Update main task status
|
|
59
|
+
await pageBuilder.importExportTask.updateTask(task.id, {
|
|
60
|
+
status: _types.ImportExportTaskStatus.PROCESSING,
|
|
61
|
+
stats: (0, _utils.initialStats)(formImportDataList.length)
|
|
62
|
+
});
|
|
63
|
+
await (0, _client.invokeHandlerClient)({
|
|
64
|
+
context,
|
|
65
|
+
name: configuration.handlers.process,
|
|
66
|
+
payload: {
|
|
67
|
+
taskId: task.id,
|
|
68
|
+
// Execute "Process" for the first sub task.
|
|
69
|
+
subTaskIndex: 1,
|
|
70
|
+
type,
|
|
71
|
+
identity: context.security.getIdentity()
|
|
72
|
+
},
|
|
73
|
+
description: "Import forms - process - first"
|
|
74
|
+
});
|
|
75
|
+
} catch (e) {
|
|
76
|
+
log("[IMPORT_FORMS_CREATE] Error => ", e);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* In case of error, we'll update the task status to "failed",
|
|
80
|
+
* so that, client can show notify the user appropriately.
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
await pageBuilder.importExportTask.updateTask(task.id, {
|
|
84
|
+
status: _types.ImportExportTaskStatus.FAILED,
|
|
85
|
+
error: {
|
|
86
|
+
name: e.name,
|
|
87
|
+
message: e.message,
|
|
88
|
+
code: e.code || "EXPORT_FAILED"
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
return {
|
|
92
|
+
data: null,
|
|
93
|
+
error: {
|
|
94
|
+
message: e.message
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
data: "",
|
|
100
|
+
error: null
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
exports.formsHandler = formsHandler;
|
|
104
|
+
|
|
105
|
+
//# sourceMappingURL=formsHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_types","require","_utils","_client","_mockSecurity","_utils2","_extractAndUploadZipFileContents","formsHandler","configuration","payload","context","log","console","pageBuilder","task","type","category","zipFileUrl","identity","meta","data","error","message","mockSecurity","formImportDataList","extractAndUploadZipFileContents","i","length","formsDirMap","subtask","importExportTask","createSubTask","id","zeroPad","status","ImportExportTaskStatus","PENDING","formKey","key","input","fileUploadsData","updateTask","PROCESSING","stats","initialStats","invokeHandlerClient","name","handlers","process","taskId","subTaskIndex","security","getIdentity","description","e","FAILED","code","exports"],"sources":["formsHandler.ts"],"sourcesContent":["import type { PbImportExportContext } from \"~/types\";\nimport { ImportExportTaskStatus } from \"~/types\";\nimport { initialStats } from \"~/import/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport type { Payload as ProcessPayload } from \"../process\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport type { Configuration, Payload, Response } from \"~/import/create\";\nimport { extractAndUploadZipFileContents } from \"~/import/utils/extractAndUploadZipFileContents\";\n\nexport const formsHandler = async (\n configuration: Configuration,\n payload: Payload,\n context: PbImportExportContext\n): Promise<Response> => {\n const log = console.log;\n\n const { pageBuilder } = context;\n const { task, type, category, zipFileUrl, identity, meta } = payload;\n try {\n log(\"RUNNING Import Forms Create\");\n if (!zipFileUrl) {\n return {\n data: null,\n error: {\n message: `Missing \"zipFileUrl\"!`\n }\n };\n }\n mockSecurity(identity, context);\n // Step 1: Read the zip file\n const formImportDataList = await extractAndUploadZipFileContents(zipFileUrl);\n\n // For each form create a subtask and invoke the process handler\n for (let i = 0; i < formImportDataList.length; i++) {\n const formsDirMap = formImportDataList[i];\n // Create sub-task\n const subtask = await pageBuilder.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n data: {\n formKey: formsDirMap.key,\n category,\n zipFileUrl,\n meta,\n input: {\n fileUploadsData: formsDirMap\n }\n }\n }\n );\n log(`Added SUB_TASK \"${subtask.id}\" to queue.`);\n }\n // Update main task status\n await pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(formImportDataList.length)\n });\n\n await invokeHandlerClient<ProcessPayload>({\n context,\n name: configuration.handlers.process,\n payload: {\n taskId: task.id,\n // Execute \"Process\" for the first sub task.\n subTaskIndex: 1,\n type,\n identity: context.security.getIdentity()\n },\n description: \"Import forms - process - first\"\n });\n } catch (e) {\n log(\"[IMPORT_FORMS_CREATE] Error => \", e);\n\n /**\n * In case of error, we'll update the task status to \"failed\",\n * so that, client can show notify the user appropriately.\n */\n\n await pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.FAILED,\n error: {\n name: e.name,\n message: e.message,\n code: e.code || \"EXPORT_FAILED\"\n }\n });\n\n return {\n data: null,\n error: {\n message: e.message\n }\n };\n }\n\n return {\n data: \"\",\n error: null\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,gCAAA,GAAAL,OAAA;AAEO,MAAMM,YAAY,GAAG,MAAAA,CACxBC,aAA4B,EAC5BC,OAAgB,EAChBC,OAA8B,KACV;EACpB,MAAMC,GAAG,GAAGC,OAAO,CAACD,GAAG;EAEvB,MAAM;IAAEE;EAAY,CAAC,GAAGH,OAAO;EAC/B,MAAM;IAAEI,IAAI;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,UAAU;IAAEC,QAAQ;IAAEC;EAAK,CAAC,GAAGV,OAAO;EACpE,IAAI;IACAE,GAAG,CAAC,6BAA6B,CAAC;IAClC,IAAI,CAACM,UAAU,EAAE;MACb,OAAO;QACHG,IAAI,EAAE,IAAI;QACVC,KAAK,EAAE;UACHC,OAAO,EAAE;QACb;MACJ,CAAC;IACL;IACA,IAAAC,0BAAY,EAACL,QAAQ,EAAER,OAAO,CAAC;IAC/B;IACA,MAAMc,kBAAkB,GAAG,MAAM,IAAAC,gEAA+B,EAACR,UAAU,CAAC;;IAE5E;IACA,KAAK,IAAIS,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,kBAAkB,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;MAChD,MAAME,WAAW,GAAGJ,kBAAkB,CAACE,CAAC,CAAC;MACzC;MACA,MAAMG,OAAO,GAAG,MAAMhB,WAAW,CAACiB,gBAAgB,CAACC,aAAa,CAC5DjB,IAAI,CAACkB,EAAE,EACP,IAAAC,eAAO,EAACP,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EACjB;QACIQ,MAAM,EAAEC,6BAAsB,CAACC,OAAO;QACtChB,IAAI,EAAE;UACFiB,OAAO,EAAET,WAAW,CAACU,GAAG;UACxBtB,QAAQ;UACRC,UAAU;UACVE,IAAI;UACJoB,KAAK,EAAE;YACHC,eAAe,EAAEZ;UACrB;QACJ;MACJ,CACJ,CAAC;MACDjB,GAAG,CAAC,mBAAmBkB,OAAO,CAACG,EAAE,aAAa,CAAC;IACnD;IACA;IACA,MAAMnB,WAAW,CAACiB,gBAAgB,CAACW,UAAU,CAAC3B,IAAI,CAACkB,EAAE,EAAE;MACnDE,MAAM,EAAEC,6BAAsB,CAACO,UAAU;MACzCC,KAAK,EAAE,IAAAC,mBAAY,EAACpB,kBAAkB,CAACG,MAAM;IACjD,CAAC,CAAC;IAEF,MAAM,IAAAkB,2BAAmB,EAAiB;MACtCnC,OAAO;MACPoC,IAAI,EAAEtC,aAAa,CAACuC,QAAQ,CAACC,OAAO;MACpCvC,OAAO,EAAE;QACLwC,MAAM,EAAEnC,IAAI,CAACkB,EAAE;QACf;QACAkB,YAAY,EAAE,CAAC;QACfnC,IAAI;QACJG,QAAQ,EAAER,OAAO,CAACyC,QAAQ,CAACC,WAAW,CAAC;MAC3C,CAAC;MACDC,WAAW,EAAE;IACjB,CAAC,CAAC;EACN,CAAC,CAAC,OAAOC,CAAC,EAAE;IACR3C,GAAG,CAAC,iCAAiC,EAAE2C,CAAC,CAAC;;IAEzC;AACR;AACA;AACA;;IAEQ,MAAMzC,WAAW,CAACiB,gBAAgB,CAACW,UAAU,CAAC3B,IAAI,CAACkB,EAAE,EAAE;MACnDE,MAAM,EAAEC,6BAAsB,CAACoB,MAAM;MACrClC,KAAK,EAAE;QACHyB,IAAI,EAAEQ,CAAC,CAACR,IAAI;QACZxB,OAAO,EAAEgC,CAAC,CAAChC,OAAO;QAClBkC,IAAI,EAAEF,CAAC,CAACE,IAAI,IAAI;MACpB;IACJ,CAAC,CAAC;IAEF,OAAO;MACHpC,IAAI,EAAE,IAAI;MACVC,KAAK,EAAE;QACHC,OAAO,EAAEgC,CAAC,CAAChC;MACf;IACJ,CAAC;EACL;EAEA,OAAO;IACHF,IAAI,EAAE,EAAE;IACRC,KAAK,EAAE;EACX,CAAC;AACL,CAAC;AAACoC,OAAA,CAAAlD,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ImportExportTask, PbImportExportContext } from "../../types";
|
|
2
|
+
import type { SecurityIdentity } from "@webiny/api-security/types";
|
|
3
|
+
export interface Configuration {
|
|
4
|
+
handlers: {
|
|
5
|
+
process: string;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export interface Payload {
|
|
9
|
+
category?: string;
|
|
10
|
+
zipFileUrl: string;
|
|
11
|
+
task: ImportExportTask;
|
|
12
|
+
type: string;
|
|
13
|
+
identity: SecurityIdentity;
|
|
14
|
+
meta?: Record<string, any>;
|
|
15
|
+
}
|
|
16
|
+
export interface Response {
|
|
17
|
+
data: string | null;
|
|
18
|
+
error: Partial<Error> | null;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Handles the import page workflow.
|
|
22
|
+
*/
|
|
23
|
+
declare const _default: (configuration: Configuration) => import("@webiny/handler-aws").RawEventHandler<Payload, PbImportExportContext, Response>;
|
|
24
|
+
export default _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _handlerAws = require("@webiny/handler-aws");
|
|
8
|
+
var _blocksHandler = require("./blocksHandler");
|
|
9
|
+
var _formsHandler = require("./formsHandler");
|
|
10
|
+
var _templatesHandler = require("./templatesHandler");
|
|
11
|
+
/**
|
|
12
|
+
* Handles the import page workflow.
|
|
13
|
+
*/
|
|
14
|
+
var _default = configuration => {
|
|
15
|
+
return (0, _handlerAws.createRawEventHandler)(async ({
|
|
16
|
+
payload,
|
|
17
|
+
context
|
|
18
|
+
}) => {
|
|
19
|
+
return context.security.withoutAuthorization(() => {
|
|
20
|
+
switch (payload.type) {
|
|
21
|
+
case "block":
|
|
22
|
+
{
|
|
23
|
+
return (0, _blocksHandler.blocksHandler)(configuration, payload, context);
|
|
24
|
+
}
|
|
25
|
+
case "form":
|
|
26
|
+
{
|
|
27
|
+
return (0, _formsHandler.formsHandler)(configuration, payload, context);
|
|
28
|
+
}
|
|
29
|
+
case "template":
|
|
30
|
+
{
|
|
31
|
+
return (0, _templatesHandler.templatesHandler)(configuration, payload, context);
|
|
32
|
+
}
|
|
33
|
+
default:
|
|
34
|
+
{
|
|
35
|
+
console.error("Import PB", JSON.stringify(payload));
|
|
36
|
+
throw new Error("Invalid type provided: pb page.");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
exports.default = _default;
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_handlerAws","require","_blocksHandler","_formsHandler","_templatesHandler","_default","configuration","createRawEventHandler","payload","context","security","withoutAuthorization","type","blocksHandler","formsHandler","templatesHandler","console","error","JSON","stringify","Error","exports","default"],"sources":["index.ts"],"sourcesContent":["import type { ImportExportTask, PbImportExportContext } from \"~/types\";\nimport type { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createRawEventHandler } from \"@webiny/handler-aws\";\nimport { blocksHandler } from \"~/import/create/blocksHandler\";\nimport { formsHandler } from \"~/import/create/formsHandler\";\nimport { templatesHandler } from \"~/import/create/templatesHandler\";\n\nexport interface Configuration {\n handlers: {\n process: string;\n };\n}\n\nexport interface Payload {\n category?: string;\n zipFileUrl: string;\n task: ImportExportTask;\n type: string;\n identity: SecurityIdentity;\n meta?: Record<string, any>;\n}\nexport interface Response {\n data: string | null;\n error: Partial<Error> | null;\n}\n\n/**\n * Handles the import page workflow.\n */\nexport default (configuration: Configuration) => {\n return createRawEventHandler<Payload, PbImportExportContext, Response>(\n async ({ payload, context }) => {\n return context.security.withoutAuthorization(() => {\n switch (payload.type) {\n case \"block\": {\n return blocksHandler(configuration, payload, context);\n }\n case \"form\": {\n return formsHandler(configuration, payload, context);\n }\n case \"template\": {\n return templatesHandler(configuration, payload, context);\n }\n default: {\n console.error(\"Import PB\", JSON.stringify(payload));\n throw new Error(\"Invalid type provided: pb page.\");\n }\n }\n });\n }\n );\n};\n"],"mappings":";;;;;;AAEA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAqBA;AACA;AACA;AAFA,IAAAI,QAAA,GAGgBC,aAA4B,IAAK;EAC7C,OAAO,IAAAC,iCAAqB,EACxB,OAAO;IAAEC,OAAO;IAAEC;EAAQ,CAAC,KAAK;IAC5B,OAAOA,OAAO,CAACC,QAAQ,CAACC,oBAAoB,CAAC,MAAM;MAC/C,QAAQH,OAAO,CAACI,IAAI;QAChB,KAAK,OAAO;UAAE;YACV,OAAO,IAAAC,4BAAa,EAACP,aAAa,EAAEE,OAAO,EAAEC,OAAO,CAAC;UACzD;QACA,KAAK,MAAM;UAAE;YACT,OAAO,IAAAK,0BAAY,EAACR,aAAa,EAAEE,OAAO,EAAEC,OAAO,CAAC;UACxD;QACA,KAAK,UAAU;UAAE;YACb,OAAO,IAAAM,kCAAgB,EAACT,aAAa,EAAEE,OAAO,EAAEC,OAAO,CAAC;UAC5D;QACA;UAAS;YACLO,OAAO,CAACC,KAAK,CAAC,WAAW,EAAEC,IAAI,CAACC,SAAS,CAACX,OAAO,CAAC,CAAC;YACnD,MAAM,IAAIY,KAAK,CAAC,iCAAiC,CAAC;UACtD;MACJ;IACJ,CAAC,CAAC;EACN,CACJ,CAAC;AACL,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAjB,QAAA","ignoreList":[]}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.pagesHandler = void 0;
|
|
7
|
+
var _types = require("../../types");
|
|
8
|
+
var _utils = require("../utils");
|
|
9
|
+
var _client = require("../../client");
|
|
10
|
+
var _mockSecurity = require("../../mockSecurity");
|
|
11
|
+
var _utils2 = require("@webiny/utils");
|
|
12
|
+
var _extractAndUploadZipFileContents = require("../utils/extractAndUploadZipFileContents");
|
|
13
|
+
const pagesHandler = async (configuration, payload, context) => {
|
|
14
|
+
const log = console.log;
|
|
15
|
+
const {
|
|
16
|
+
pageBuilder
|
|
17
|
+
} = context;
|
|
18
|
+
const {
|
|
19
|
+
task,
|
|
20
|
+
type,
|
|
21
|
+
category,
|
|
22
|
+
zipFileUrl,
|
|
23
|
+
identity,
|
|
24
|
+
meta
|
|
25
|
+
} = payload;
|
|
26
|
+
try {
|
|
27
|
+
log("RUNNING Import Pages Create");
|
|
28
|
+
if (!zipFileUrl) {
|
|
29
|
+
return {
|
|
30
|
+
data: null,
|
|
31
|
+
error: {
|
|
32
|
+
message: `Missing "zipFileUrl"!`
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
(0, _mockSecurity.mockSecurity)(identity, context);
|
|
37
|
+
// Step 1: Read the zip file
|
|
38
|
+
const pageImportDataList = await (0, _extractAndUploadZipFileContents.extractAndUploadZipFileContents)(zipFileUrl);
|
|
39
|
+
|
|
40
|
+
// For each page create a subtask and invoke the process handler
|
|
41
|
+
for (let i = 0; i < pageImportDataList.length; i++) {
|
|
42
|
+
const pagesDirMap = pageImportDataList[i];
|
|
43
|
+
// Create sub-task
|
|
44
|
+
const subtask = await pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
|
|
45
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
|
46
|
+
data: {
|
|
47
|
+
pageKey: pagesDirMap.key,
|
|
48
|
+
category,
|
|
49
|
+
zipFileUrl,
|
|
50
|
+
meta,
|
|
51
|
+
input: {
|
|
52
|
+
fileUploadsData: pagesDirMap
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
log(`Added SUB_TASK "${subtask.id}" to queue.`);
|
|
57
|
+
}
|
|
58
|
+
// Update main task status
|
|
59
|
+
await pageBuilder.importExportTask.updateTask(task.id, {
|
|
60
|
+
status: _types.ImportExportTaskStatus.PROCESSING,
|
|
61
|
+
stats: (0, _utils.initialStats)(pageImportDataList.length)
|
|
62
|
+
});
|
|
63
|
+
await (0, _client.invokeHandlerClient)({
|
|
64
|
+
context,
|
|
65
|
+
name: configuration.handlers.process,
|
|
66
|
+
payload: {
|
|
67
|
+
taskId: task.id,
|
|
68
|
+
// Execute "Process" for the first sub task.
|
|
69
|
+
subTaskIndex: 1,
|
|
70
|
+
type,
|
|
71
|
+
identity: context.security.getIdentity()
|
|
72
|
+
},
|
|
73
|
+
description: "Import pages - process - first"
|
|
74
|
+
});
|
|
75
|
+
} catch (e) {
|
|
76
|
+
log("[IMPORT_PAGES_CREATE] Error => ", e);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* In case of error, we'll update the task status to "failed",
|
|
80
|
+
* so that, client can show notify the user appropriately.
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
await pageBuilder.importExportTask.updateTask(task.id, {
|
|
84
|
+
status: _types.ImportExportTaskStatus.FAILED,
|
|
85
|
+
error: {
|
|
86
|
+
name: e.name,
|
|
87
|
+
message: e.message,
|
|
88
|
+
code: e.code || "EXPORT_FAILED"
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
return {
|
|
92
|
+
data: null,
|
|
93
|
+
error: {
|
|
94
|
+
message: e.message
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
data: "",
|
|
100
|
+
error: null
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
exports.pagesHandler = pagesHandler;
|
|
104
|
+
|
|
105
|
+
//# sourceMappingURL=pagesHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_types","require","_utils","_client","_mockSecurity","_utils2","_extractAndUploadZipFileContents","pagesHandler","configuration","payload","context","log","console","pageBuilder","task","type","category","zipFileUrl","identity","meta","data","error","message","mockSecurity","pageImportDataList","extractAndUploadZipFileContents","i","length","pagesDirMap","subtask","importExportTask","createSubTask","id","zeroPad","status","ImportExportTaskStatus","PENDING","pageKey","key","input","fileUploadsData","updateTask","PROCESSING","stats","initialStats","invokeHandlerClient","name","handlers","process","taskId","subTaskIndex","security","getIdentity","description","e","FAILED","code","exports"],"sources":["pagesHandler.ts"],"sourcesContent":["import type { PbImportExportContext } from \"~/types\";\nimport { ImportExportTaskStatus } from \"~/types\";\nimport { initialStats } from \"~/import/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport type { Payload as ProcessPayload } from \"../process\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport type { Configuration, Payload, Response } from \"~/import/create\";\nimport { extractAndUploadZipFileContents } from \"~/import/utils/extractAndUploadZipFileContents\";\n\nexport const pagesHandler = async (\n configuration: Configuration,\n payload: Payload,\n context: PbImportExportContext\n): Promise<Response> => {\n const log = console.log;\n\n const { pageBuilder } = context;\n const { task, type, category, zipFileUrl, identity, meta } = payload;\n try {\n log(\"RUNNING Import Pages Create\");\n if (!zipFileUrl) {\n return {\n data: null,\n error: {\n message: `Missing \"zipFileUrl\"!`\n }\n };\n }\n mockSecurity(identity, context);\n // Step 1: Read the zip file\n const pageImportDataList = await extractAndUploadZipFileContents(zipFileUrl);\n\n // For each page create a subtask and invoke the process handler\n for (let i = 0; i < pageImportDataList.length; i++) {\n const pagesDirMap = pageImportDataList[i];\n // Create sub-task\n const subtask = await pageBuilder.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n data: {\n pageKey: pagesDirMap.key,\n category,\n zipFileUrl,\n meta,\n input: {\n fileUploadsData: pagesDirMap\n }\n }\n }\n );\n log(`Added SUB_TASK \"${subtask.id}\" to queue.`);\n }\n // Update main task status\n await pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(pageImportDataList.length)\n });\n\n await invokeHandlerClient<ProcessPayload>({\n context,\n name: configuration.handlers.process,\n payload: {\n taskId: task.id,\n // Execute \"Process\" for the first sub task.\n subTaskIndex: 1,\n type,\n identity: context.security.getIdentity()\n },\n description: \"Import pages - process - first\"\n });\n } catch (e) {\n log(\"[IMPORT_PAGES_CREATE] Error => \", e);\n\n /**\n * In case of error, we'll update the task status to \"failed\",\n * so that, client can show notify the user appropriately.\n */\n\n await pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.FAILED,\n error: {\n name: e.name,\n message: e.message,\n code: e.code || \"EXPORT_FAILED\"\n }\n });\n\n return {\n data: null,\n error: {\n message: e.message\n }\n };\n }\n\n return {\n data: \"\",\n error: null\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.templatesHandler = void 0;
|
|
7
|
+
var _types = require("../../types");
|
|
8
|
+
var _utils = require("../utils");
|
|
9
|
+
var _client = require("../../client");
|
|
10
|
+
var _mockSecurity = require("../../mockSecurity");
|
|
11
|
+
var _utils2 = require("@webiny/utils");
|
|
12
|
+
var _extractAndUploadZipFileContents = require("../utils/extractAndUploadZipFileContents");
|
|
13
|
+
const templatesHandler = async (configuration, payload, context) => {
|
|
14
|
+
const log = console.log;
|
|
15
|
+
const {
|
|
16
|
+
pageBuilder
|
|
17
|
+
} = context;
|
|
18
|
+
const {
|
|
19
|
+
task,
|
|
20
|
+
type,
|
|
21
|
+
zipFileUrl,
|
|
22
|
+
identity
|
|
23
|
+
} = payload;
|
|
24
|
+
try {
|
|
25
|
+
log("RUNNING Import Templates Create");
|
|
26
|
+
if (!zipFileUrl) {
|
|
27
|
+
return {
|
|
28
|
+
data: null,
|
|
29
|
+
error: {
|
|
30
|
+
message: `Missing "zipFileUrl"!`
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
(0, _mockSecurity.mockSecurity)(identity, context);
|
|
35
|
+
// Step 1: Read the zip file
|
|
36
|
+
const templateImportDataList = await (0, _extractAndUploadZipFileContents.extractAndUploadZipFileContents)(zipFileUrl);
|
|
37
|
+
|
|
38
|
+
// For each template create a subtask and invoke the process handler
|
|
39
|
+
for (let i = 0; i < templateImportDataList.length; i++) {
|
|
40
|
+
const templatesDirMap = templateImportDataList[i];
|
|
41
|
+
// Create sub task
|
|
42
|
+
const subtask = await pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
|
|
43
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
|
44
|
+
data: {
|
|
45
|
+
templateKey: templatesDirMap.key,
|
|
46
|
+
zipFileUrl,
|
|
47
|
+
input: {
|
|
48
|
+
fileUploadsData: templatesDirMap
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
log(`Added SUB_TASK "${subtask.id}" to queue.`);
|
|
53
|
+
}
|
|
54
|
+
// Update main task status
|
|
55
|
+
await pageBuilder.importExportTask.updateTask(task.id, {
|
|
56
|
+
status: _types.ImportExportTaskStatus.PROCESSING,
|
|
57
|
+
stats: (0, _utils.initialStats)(templateImportDataList.length)
|
|
58
|
+
});
|
|
59
|
+
await (0, _client.invokeHandlerClient)({
|
|
60
|
+
context,
|
|
61
|
+
name: configuration.handlers.process,
|
|
62
|
+
payload: {
|
|
63
|
+
taskId: task.id,
|
|
64
|
+
// Execute "Process" for the first sub task.
|
|
65
|
+
subTaskIndex: 1,
|
|
66
|
+
type,
|
|
67
|
+
identity: context.security.getIdentity()
|
|
68
|
+
},
|
|
69
|
+
description: "Import templates - process - first"
|
|
70
|
+
});
|
|
71
|
+
} catch (e) {
|
|
72
|
+
log("[IMPORT_TEMPLATES_CREATE] Error => ", e);
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* In case of error, we'll update the task status to "failed",
|
|
76
|
+
* so that, client can show notify the user appropriately.
|
|
77
|
+
*/
|
|
78
|
+
|
|
79
|
+
await pageBuilder.importExportTask.updateTask(task.id, {
|
|
80
|
+
status: _types.ImportExportTaskStatus.FAILED,
|
|
81
|
+
error: {
|
|
82
|
+
name: e.name,
|
|
83
|
+
message: e.message,
|
|
84
|
+
code: e.code || "EXPORT_FAILED"
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
return {
|
|
88
|
+
data: null,
|
|
89
|
+
error: {
|
|
90
|
+
message: e.message
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
data: "",
|
|
96
|
+
error: null
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
exports.templatesHandler = templatesHandler;
|
|
100
|
+
|
|
101
|
+
//# sourceMappingURL=templatesHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_types","require","_utils","_client","_mockSecurity","_utils2","_extractAndUploadZipFileContents","templatesHandler","configuration","payload","context","log","console","pageBuilder","task","type","zipFileUrl","identity","data","error","message","mockSecurity","templateImportDataList","extractAndUploadZipFileContents","i","length","templatesDirMap","subtask","importExportTask","createSubTask","id","zeroPad","status","ImportExportTaskStatus","PENDING","templateKey","key","input","fileUploadsData","updateTask","PROCESSING","stats","initialStats","invokeHandlerClient","name","handlers","process","taskId","subTaskIndex","security","getIdentity","description","e","FAILED","code","exports"],"sources":["templatesHandler.ts"],"sourcesContent":["import type { PbImportExportContext } from \"~/types\";\nimport { ImportExportTaskStatus } from \"~/types\";\nimport { initialStats } from \"~/import/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport type { Payload as ProcessPayload } from \"../process\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport type { Configuration, Payload, Response } from \"~/import/create\";\nimport { extractAndUploadZipFileContents } from \"~/import/utils/extractAndUploadZipFileContents\";\n\nexport const templatesHandler = async (\n configuration: Configuration,\n payload: Payload,\n context: PbImportExportContext\n): Promise<Response> => {\n const log = console.log;\n\n const { pageBuilder } = context;\n const { task, type, zipFileUrl, identity } = payload;\n try {\n log(\"RUNNING Import Templates Create\");\n if (!zipFileUrl) {\n return {\n data: null,\n error: {\n message: `Missing \"zipFileUrl\"!`\n }\n };\n }\n mockSecurity(identity, context);\n // Step 1: Read the zip file\n const templateImportDataList = await extractAndUploadZipFileContents(zipFileUrl);\n\n // For each template create a subtask and invoke the process handler\n for (let i = 0; i < templateImportDataList.length; i++) {\n const templatesDirMap = templateImportDataList[i];\n // Create sub task\n const subtask = await pageBuilder.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n data: {\n templateKey: templatesDirMap.key,\n zipFileUrl,\n input: {\n fileUploadsData: templatesDirMap\n }\n }\n }\n );\n log(`Added SUB_TASK \"${subtask.id}\" to queue.`);\n }\n // Update main task status\n await pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(templateImportDataList.length)\n });\n\n await invokeHandlerClient<ProcessPayload>({\n context,\n name: configuration.handlers.process,\n payload: {\n taskId: task.id,\n // Execute \"Process\" for the first sub task.\n subTaskIndex: 1,\n type,\n identity: context.security.getIdentity()\n },\n description: \"Import templates - process - first\"\n });\n } catch (e) {\n log(\"[IMPORT_TEMPLATES_CREATE] Error => \", e);\n\n /**\n * In case of error, we'll update the task status to \"failed\",\n * so that, client can show notify the user appropriately.\n */\n\n await pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.FAILED,\n error: {\n name: e.name,\n message: e.message,\n code: e.code || \"EXPORT_FAILED\"\n }\n });\n\n return {\n data: null,\n error: {\n message: e.message\n }\n };\n }\n\n return {\n data: \"\",\n error: null\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ImportPagesController = void 0;
|
|
7
|
+
var _ImportPagesProcessPagesChecker = require("./controller/ImportPagesProcessPagesChecker");
|
|
8
|
+
var _ImportPagesProcessZipFile = require("./controller/ImportPagesProcessZipFile");
|
|
9
|
+
class ImportPagesController {
|
|
10
|
+
async execute(params) {
|
|
11
|
+
const {
|
|
12
|
+
response,
|
|
13
|
+
isAborted,
|
|
14
|
+
input
|
|
15
|
+
} = params;
|
|
16
|
+
if (isAborted()) {
|
|
17
|
+
return response.aborted();
|
|
18
|
+
}
|
|
19
|
+
if (input.processing) {
|
|
20
|
+
const importPagesProcessPagesChecker = new _ImportPagesProcessPagesChecker.ImportPagesProcessPagesChecker();
|
|
21
|
+
return await importPagesProcessPagesChecker.execute(params);
|
|
22
|
+
}
|
|
23
|
+
const importPagesProcessZipFile = new _ImportPagesProcessZipFile.ImportPagesProcessZipFile();
|
|
24
|
+
return importPagesProcessZipFile.execute(params);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.ImportPagesController = ImportPagesController;
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=ImportPagesController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_ImportPagesProcessPagesChecker","require","_ImportPagesProcessZipFile","ImportPagesController","execute","params","response","isAborted","input","aborted","processing","importPagesProcessPagesChecker","ImportPagesProcessPagesChecker","importPagesProcessZipFile","ImportPagesProcessZipFile","exports"],"sources":["ImportPagesController.ts"],"sourcesContent":["import type { ITaskResponseResult } from \"@webiny/tasks\";\nimport { ImportPagesProcessPagesChecker } from \"./controller/ImportPagesProcessPagesChecker\";\nimport { ImportPagesProcessZipFile } from \"./controller/ImportPagesProcessZipFile\";\nimport type { IImportPagesControllerTaskParams } from \"./types\";\n\nexport class ImportPagesController {\n public async execute(params: IImportPagesControllerTaskParams): Promise<ITaskResponseResult> {\n const { response, isAborted, input } = params;\n if (isAborted()) {\n return response.aborted();\n }\n if (input.processing) {\n const importPagesProcessPagesChecker = new ImportPagesProcessPagesChecker();\n\n return await importPagesProcessPagesChecker.execute(params);\n }\n const importPagesProcessZipFile = new ImportPagesProcessZipFile();\n\n return importPagesProcessZipFile.execute(params);\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,+BAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAGO,MAAME,qBAAqB,CAAC;EAC/B,MAAaC,OAAOA,CAACC,MAAwC,EAAgC;IACzF,MAAM;MAAEC,QAAQ;MAAEC,SAAS;MAAEC;IAAM,CAAC,GAAGH,MAAM;IAC7C,IAAIE,SAAS,CAAC,CAAC,EAAE;MACb,OAAOD,QAAQ,CAACG,OAAO,CAAC,CAAC;IAC7B;IACA,IAAID,KAAK,CAACE,UAAU,EAAE;MAClB,MAAMC,8BAA8B,GAAG,IAAIC,8DAA8B,CAAC,CAAC;MAE3E,OAAO,MAAMD,8BAA8B,CAACP,OAAO,CAACC,MAAM,CAAC;IAC/D;IACA,MAAMQ,yBAAyB,GAAG,IAAIC,oDAAyB,CAAC,CAAC;IAEjE,OAAOD,yBAAyB,CAACT,OAAO,CAACC,MAAM,CAAC;EACpD;AACJ;AAACU,OAAA,CAAAZ,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ITaskResponseResult } from "@webiny/tasks";
|
|
2
|
+
import type { IImportPagesProcessPagesTaskParams } from "./types";
|
|
3
|
+
export declare class ImportPagesProcessPages {
|
|
4
|
+
execute(params: IImportPagesProcessPagesTaskParams): Promise<ITaskResponseResult>;
|
|
5
|
+
private importPage;
|
|
6
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ImportPagesProcessPages = void 0;
|
|
7
|
+
var _importPage = require("./process/importPage");
|
|
8
|
+
var _mockSecurity = require("../../mockSecurity");
|
|
9
|
+
class ImportPagesProcessPages {
|
|
10
|
+
async execute(params) {
|
|
11
|
+
const {
|
|
12
|
+
context,
|
|
13
|
+
response,
|
|
14
|
+
input,
|
|
15
|
+
store,
|
|
16
|
+
isAborted,
|
|
17
|
+
isCloseToTimeout
|
|
18
|
+
} = params;
|
|
19
|
+
const {
|
|
20
|
+
identity,
|
|
21
|
+
items,
|
|
22
|
+
meta,
|
|
23
|
+
category
|
|
24
|
+
} = input;
|
|
25
|
+
const pageIdList = Array.from(input.pageIdList || []);
|
|
26
|
+
const done = Array.from(input.done || []);
|
|
27
|
+
const failed = Array.from(input.failed || []);
|
|
28
|
+
for (const item of items) {
|
|
29
|
+
/**
|
|
30
|
+
* Possibility that a page was already imported in a execution run.
|
|
31
|
+
*/
|
|
32
|
+
if (done.includes(item.key) || failed.includes(item.key)) {
|
|
33
|
+
continue;
|
|
34
|
+
} else if (isAborted()) {
|
|
35
|
+
return response.aborted();
|
|
36
|
+
} else if (isCloseToTimeout()) {
|
|
37
|
+
return response.continue({
|
|
38
|
+
...input,
|
|
39
|
+
pageIdList,
|
|
40
|
+
done,
|
|
41
|
+
failed
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
let page;
|
|
45
|
+
try {
|
|
46
|
+
page = await this.importPage({
|
|
47
|
+
context,
|
|
48
|
+
identity,
|
|
49
|
+
item,
|
|
50
|
+
meta,
|
|
51
|
+
category
|
|
52
|
+
});
|
|
53
|
+
pageIdList.push(page.pid);
|
|
54
|
+
done.push(item.key);
|
|
55
|
+
} catch (ex) {
|
|
56
|
+
console.error(ex);
|
|
57
|
+
await store.addErrorLog({
|
|
58
|
+
error: ex,
|
|
59
|
+
message: `Could not import page: ${item.key}.`,
|
|
60
|
+
data: {
|
|
61
|
+
...item
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
failed.push(item.key);
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
await store.addInfoLog({
|
|
68
|
+
message: `Page "${page.title}" imported successfully.`,
|
|
69
|
+
data: {
|
|
70
|
+
id: page.id,
|
|
71
|
+
title: page.title,
|
|
72
|
+
version: page.version,
|
|
73
|
+
status: page.status
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return response.done({
|
|
78
|
+
done,
|
|
79
|
+
failed,
|
|
80
|
+
pageIdList
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
async importPage(params) {
|
|
84
|
+
const {
|
|
85
|
+
context,
|
|
86
|
+
identity,
|
|
87
|
+
item,
|
|
88
|
+
category,
|
|
89
|
+
meta
|
|
90
|
+
} = params;
|
|
91
|
+
(0, _mockSecurity.mockSecurity)(identity, context);
|
|
92
|
+
const page = await (0, _importPage.importPage)({
|
|
93
|
+
context,
|
|
94
|
+
pageKey: item.key,
|
|
95
|
+
fileUploadsData: {
|
|
96
|
+
data: item.data,
|
|
97
|
+
assets: item.assets
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
const pbPage = await context.pageBuilder.createPage(category, meta);
|
|
101
|
+
(0, _mockSecurity.mockSecurity)(identity, context);
|
|
102
|
+
return await context.pageBuilder.updatePage(pbPage.id, {
|
|
103
|
+
content: page.content,
|
|
104
|
+
title: page.title,
|
|
105
|
+
path: page.path,
|
|
106
|
+
settings: page.settings
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.ImportPagesProcessPages = ImportPagesProcessPages;
|
|
111
|
+
|
|
112
|
+
//# sourceMappingURL=ImportPagesProcessPages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_importPage","require","_mockSecurity","ImportPagesProcessPages","execute","params","context","response","input","store","isAborted","isCloseToTimeout","identity","items","meta","category","pageIdList","Array","from","done","failed","item","includes","key","aborted","continue","page","importPage","push","pid","ex","console","error","addErrorLog","message","data","addInfoLog","title","id","version","status","mockSecurity","pageKey","fileUploadsData","assets","pbPage","pageBuilder","createPage","updatePage","content","path","settings","exports"],"sources":["ImportPagesProcessPages.ts"],"sourcesContent":["import type { ITaskResponseResult } from \"@webiny/tasks\";\nimport type { IImportPagesControllerInputMeta, IImportPagesProcessPagesTaskParams } from \"./types\";\nimport { importPage } from \"./process/importPage\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport type { SecurityIdentity } from \"@webiny/api-security/types\";\nimport type { ImportData } from \"~/types\";\nimport type { Page } from \"@webiny/api-page-builder/types\";\n\ninterface ImportPageParams extends Pick<IImportPagesProcessPagesTaskParams, \"context\"> {\n identity: SecurityIdentity;\n item: ImportData;\n meta?: IImportPagesControllerInputMeta;\n category: string;\n}\n\nexport class ImportPagesProcessPages {\n public async execute(params: IImportPagesProcessPagesTaskParams): Promise<ITaskResponseResult> {\n const { context, response, input, store, isAborted, isCloseToTimeout } = params;\n\n const { identity, items, meta, category } = input;\n\n const pageIdList = Array.from(input.pageIdList || []);\n const done = Array.from(input.done || []);\n const failed = Array.from(input.failed || []);\n\n for (const item of items) {\n /**\n * Possibility that a page was already imported in a execution run.\n */\n if (done.includes(item.key) || failed.includes(item.key)) {\n continue;\n } else if (isAborted()) {\n return response.aborted();\n } else if (isCloseToTimeout()) {\n return response.continue({\n ...input,\n pageIdList,\n done,\n failed\n });\n }\n\n let page: Page;\n try {\n page = await this.importPage({\n context,\n identity,\n item,\n meta,\n category\n });\n pageIdList.push(page.pid);\n done.push(item.key);\n } catch (ex) {\n console.error(ex);\n await store.addErrorLog({\n error: ex,\n message: `Could not import page: ${item.key}.`,\n data: {\n ...item\n }\n });\n failed.push(item.key);\n continue;\n }\n await store.addInfoLog({\n message: `Page \"${page.title}\" imported successfully.`,\n data: {\n id: page.id,\n title: page.title,\n version: page.version,\n status: page.status\n }\n });\n }\n\n return response.done({\n done,\n failed,\n pageIdList\n });\n }\n\n private async importPage(params: ImportPageParams) {\n const { context, identity, item, category, meta } = params;\n mockSecurity(identity, context);\n\n const page = await importPage({\n context,\n pageKey: item.key,\n fileUploadsData: {\n data: item.data,\n assets: item.assets\n }\n });\n\n const pbPage = await context.pageBuilder.createPage(category, meta);\n\n mockSecurity(identity, context);\n\n return await context.pageBuilder.updatePage(pbPage.id, {\n content: page.content,\n title: page.title,\n path: page.path,\n settings: page.settings\n });\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAYO,MAAME,uBAAuB,CAAC;EACjC,MAAaC,OAAOA,CAACC,MAA0C,EAAgC;IAC3F,MAAM;MAAEC,OAAO;MAAEC,QAAQ;MAAEC,KAAK;MAAEC,KAAK;MAAEC,SAAS;MAAEC;IAAiB,CAAC,GAAGN,MAAM;IAE/E,MAAM;MAAEO,QAAQ;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAS,CAAC,GAAGP,KAAK;IAEjD,MAAMQ,UAAU,GAAGC,KAAK,CAACC,IAAI,CAACV,KAAK,CAACQ,UAAU,IAAI,EAAE,CAAC;IACrD,MAAMG,IAAI,GAAGF,KAAK,CAACC,IAAI,CAACV,KAAK,CAACW,IAAI,IAAI,EAAE,CAAC;IACzC,MAAMC,MAAM,GAAGH,KAAK,CAACC,IAAI,CAACV,KAAK,CAACY,MAAM,IAAI,EAAE,CAAC;IAE7C,KAAK,MAAMC,IAAI,IAAIR,KAAK,EAAE;MACtB;AACZ;AACA;MACY,IAAIM,IAAI,CAACG,QAAQ,CAACD,IAAI,CAACE,GAAG,CAAC,IAAIH,MAAM,CAACE,QAAQ,CAACD,IAAI,CAACE,GAAG,CAAC,EAAE;QACtD;MACJ,CAAC,MAAM,IAAIb,SAAS,CAAC,CAAC,EAAE;QACpB,OAAOH,QAAQ,CAACiB,OAAO,CAAC,CAAC;MAC7B,CAAC,MAAM,IAAIb,gBAAgB,CAAC,CAAC,EAAE;QAC3B,OAAOJ,QAAQ,CAACkB,QAAQ,CAAC;UACrB,GAAGjB,KAAK;UACRQ,UAAU;UACVG,IAAI;UACJC;QACJ,CAAC,CAAC;MACN;MAEA,IAAIM,IAAU;MACd,IAAI;QACAA,IAAI,GAAG,MAAM,IAAI,CAACC,UAAU,CAAC;UACzBrB,OAAO;UACPM,QAAQ;UACRS,IAAI;UACJP,IAAI;UACJC;QACJ,CAAC,CAAC;QACFC,UAAU,CAACY,IAAI,CAACF,IAAI,CAACG,GAAG,CAAC;QACzBV,IAAI,CAACS,IAAI,CAACP,IAAI,CAACE,GAAG,CAAC;MACvB,CAAC,CAAC,OAAOO,EAAE,EAAE;QACTC,OAAO,CAACC,KAAK,CAACF,EAAE,CAAC;QACjB,MAAMrB,KAAK,CAACwB,WAAW,CAAC;UACpBD,KAAK,EAAEF,EAAE;UACTI,OAAO,EAAE,0BAA0Bb,IAAI,CAACE,GAAG,GAAG;UAC9CY,IAAI,EAAE;YACF,GAAGd;UACP;QACJ,CAAC,CAAC;QACFD,MAAM,CAACQ,IAAI,CAACP,IAAI,CAACE,GAAG,CAAC;QACrB;MACJ;MACA,MAAMd,KAAK,CAAC2B,UAAU,CAAC;QACnBF,OAAO,EAAE,SAASR,IAAI,CAACW,KAAK,0BAA0B;QACtDF,IAAI,EAAE;UACFG,EAAE,EAAEZ,IAAI,CAACY,EAAE;UACXD,KAAK,EAAEX,IAAI,CAACW,KAAK;UACjBE,OAAO,EAAEb,IAAI,CAACa,OAAO;UACrBC,MAAM,EAAEd,IAAI,CAACc;QACjB;MACJ,CAAC,CAAC;IACN;IAEA,OAAOjC,QAAQ,CAACY,IAAI,CAAC;MACjBA,IAAI;MACJC,MAAM;MACNJ;IACJ,CAAC,CAAC;EACN;EAEA,MAAcW,UAAUA,CAACtB,MAAwB,EAAE;IAC/C,MAAM;MAAEC,OAAO;MAAEM,QAAQ;MAAES,IAAI;MAAEN,QAAQ;MAAED;IAAK,CAAC,GAAGT,MAAM;IAC1D,IAAAoC,0BAAY,EAAC7B,QAAQ,EAAEN,OAAO,CAAC;IAE/B,MAAMoB,IAAI,GAAG,MAAM,IAAAC,sBAAU,EAAC;MAC1BrB,OAAO;MACPoC,OAAO,EAAErB,IAAI,CAACE,GAAG;MACjBoB,eAAe,EAAE;QACbR,IAAI,EAAEd,IAAI,CAACc,IAAI;QACfS,MAAM,EAAEvB,IAAI,CAACuB;MACjB;IACJ,CAAC,CAAC;IAEF,MAAMC,MAAM,GAAG,MAAMvC,OAAO,CAACwC,WAAW,CAACC,UAAU,CAAChC,QAAQ,EAAED,IAAI,CAAC;IAEnE,IAAA2B,0BAAY,EAAC7B,QAAQ,EAAEN,OAAO,CAAC;IAE/B,OAAO,MAAMA,OAAO,CAACwC,WAAW,CAACE,UAAU,CAACH,MAAM,CAACP,EAAE,EAAE;MACnDW,OAAO,EAAEvB,IAAI,CAACuB,OAAO;MACrBZ,KAAK,EAAEX,IAAI,CAACW,KAAK;MACjBa,IAAI,EAAExB,IAAI,CAACwB,IAAI;MACfC,QAAQ,EAAEzB,IAAI,CAACyB;IACnB,CAAC,CAAC;EACN;AACJ;AAACC,OAAA,CAAAjD,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IImportPagesControllerTaskParams } from "../types";
|
|
2
|
+
import type { ITaskResponseResult } from "@webiny/tasks";
|
|
3
|
+
export declare const PROCESS_PAGES_WAIT_TIME = 5;
|
|
4
|
+
export declare class ImportPagesProcessPagesChecker {
|
|
5
|
+
execute(params: IImportPagesControllerTaskParams): Promise<ITaskResponseResult>;
|
|
6
|
+
}
|