@webiny/api-page-builder-import-export 0.0.0-unstable.3386f66516 → 0.0.0-unstable.3bc8100a7f
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 +1 -1
- package/client.js +12 -25
- package/client.js.map +1 -1
- package/export/combine/blocksHandler.d.ts +2 -2
- package/export/combine/blocksHandler.js +14 -19
- package/export/combine/blocksHandler.js.map +1 -1
- package/export/combine/formsHandler.d.ts +6 -0
- package/export/combine/{pagesHandler.js → formsHandler.js} +25 -30
- package/export/combine/formsHandler.js.map +1 -0
- package/export/combine/index.d.ts +2 -2
- package/export/combine/index.js +24 -23
- package/export/combine/index.js.map +1 -1
- package/export/combine/templatesHandler.d.ts +2 -2
- package/export/combine/templatesHandler.js +14 -19
- package/export/combine/templatesHandler.js.map +1 -1
- 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 +2 -2
- package/export/process/blocksHandler.js +29 -36
- package/export/process/blocksHandler.js.map +1 -1
- 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/{pagesHandler.js → formsHandler.js} +48 -63
- package/export/process/formsHandler.js.map +1 -0
- package/export/process/index.d.ts +2 -2
- package/export/process/index.js +24 -23
- package/export/process/index.js.map +1 -1
- package/export/process/templatesHandler.d.ts +2 -2
- package/export/process/templatesHandler.js +29 -37
- package/export/process/templatesHandler.js.map +1 -1
- package/export/s3Stream.d.ts +16 -11
- package/export/s3Stream.js +27 -42
- package/export/s3Stream.js.map +1 -1
- package/export/utils.d.ts +11 -9
- package/export/utils.js +54 -58
- package/export/utils.js.map +1 -1
- package/export/zipper.d.ts +7 -6
- package/export/zipper.js +46 -62
- package/export/zipper.js.map +1 -1
- package/graphql/crud/blocks.crud.d.ts +1 -1
- package/graphql/crud/blocks.crud.js +65 -62
- package/graphql/crud/blocks.crud.js.map +1 -1
- 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 +2 -2
- package/graphql/crud/importExportTasks.crud.js +150 -165
- package/graphql/crud/importExportTasks.crud.js.map +1 -1
- package/graphql/crud/pages.crud.d.ts +1 -1
- package/graphql/crud/pages.crud.js +241 -142
- package/graphql/crud/pages.crud.js.map +1 -1
- package/graphql/crud/templates.crud.d.ts +1 -1
- package/graphql/crud/templates.crud.js +63 -47
- package/graphql/crud/templates.crud.js.map +1 -1
- package/graphql/crud.d.ts +2 -2
- package/graphql/crud.js +4 -8
- package/graphql/crud.js.map +1 -1
- package/graphql/graphql/blocks.gql.d.ts +2 -2
- package/graphql/graphql/blocks.gql.js +8 -13
- package/graphql/graphql/blocks.gql.js.map +1 -1
- package/graphql/graphql/forms.gql.d.ts +4 -0
- package/graphql/graphql/forms.gql.js +60 -0
- package/graphql/graphql/forms.gql.js.map +1 -0
- package/graphql/graphql/importExportTasks.gql.d.ts +2 -2
- package/graphql/graphql/importExportTasks.gql.js +8 -13
- package/graphql/graphql/importExportTasks.gql.js.map +1 -1
- package/graphql/graphql/pages.gql.d.ts +2 -2
- package/graphql/graphql/pages.gql.js +104 -20
- package/graphql/graphql/pages.gql.js.map +1 -1
- package/graphql/graphql/templates.gql.d.ts +2 -2
- package/graphql/graphql/templates.gql.js +7 -12
- package/graphql/graphql/templates.gql.js.map +1 -1
- 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 +3 -7
- 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 +194 -31
- 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 +2 -2
- package/import/create/blocksHandler.js +13 -22
- package/import/create/blocksHandler.js.map +1 -1
- 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 +2 -2
- package/import/create/index.js +24 -23
- package/import/create/index.js.map +1 -1
- package/import/create/pagesHandler.d.ts +2 -2
- package/import/create/pagesHandler.js +12 -19
- package/import/create/pagesHandler.js.map +1 -1
- package/import/create/templatesHandler.d.ts +2 -2
- package/import/create/templatesHandler.js +12 -19
- package/import/create/templatesHandler.js.map +1 -1
- 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/{blocksHandler.d.ts → blocks/blocksHandler.d.ts} +2 -2
- package/import/process/{blocksHandler.js → blocks/blocksHandler.js} +32 -38
- 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/{pagesHandler.js → forms/formsHandler.js} +54 -57
- 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 +2 -2
- package/import/process/index.js +26 -25
- package/import/process/index.js.map +1 -1
- 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/{templatesHandler.d.ts → templates/templatesHandler.d.ts} +2 -2
- package/import/process/{templatesHandler.js → templates/templatesHandler.js} +36 -34
- 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 +23 -2
- package/types.js +60 -13
- 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/export/combine/pagesHandler.d.ts +0 -6
- package/export/combine/pagesHandler.js.map +0 -1
- package/export/process/pagesHandler.d.ts +0 -6
- package/export/process/pagesHandler.js.map +0 -1
- package/import/process/blocksHandler.js.map +0 -1
- package/import/process/pagesHandler.d.ts +0 -3
- package/import/process/pagesHandler.js.map +0 -1
- package/import/process/templatesHandler.js.map +0 -1
- package/import/utils.d.ts +0 -56
- package/import/utils.js +0 -696
- package/import/utils.js.map +0 -1
package/import/create/index.js
CHANGED
|
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _handlerAws = require("@webiny/handler-aws");
|
|
9
|
-
|
|
10
8
|
var _blocksHandler = require("./blocksHandler");
|
|
11
|
-
|
|
12
|
-
var _pagesHandler = require("./pagesHandler");
|
|
13
|
-
|
|
9
|
+
var _formsHandler = require("./formsHandler");
|
|
14
10
|
var _templatesHandler = require("./templatesHandler");
|
|
15
|
-
|
|
16
11
|
/**
|
|
17
12
|
* Handles the import page workflow.
|
|
18
13
|
*/
|
|
@@ -21,23 +16,29 @@ var _default = configuration => {
|
|
|
21
16
|
payload,
|
|
22
17
|
context
|
|
23
18
|
}) => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
40
|
});
|
|
41
41
|
};
|
|
42
|
+
exports.default = _default;
|
|
42
43
|
|
|
43
|
-
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["configuration","createRawEventHandler","payload","context","type","blocksHandler","templatesHandler","
|
|
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":[]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { PbImportExportContext } from "../../types";
|
|
2
|
-
import { Configuration, Payload, Response } from "
|
|
1
|
+
import type { PbImportExportContext } from "../../types";
|
|
2
|
+
import type { Configuration, Payload, Response } from "./";
|
|
3
3
|
export declare const pagesHandler: (configuration: Configuration, payload: Payload, context: PbImportExportContext) => Promise<Response>;
|
|
@@ -4,17 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.pagesHandler = void 0;
|
|
7
|
-
|
|
8
7
|
var _types = require("../../types");
|
|
9
|
-
|
|
10
8
|
var _utils = require("../utils");
|
|
11
|
-
|
|
12
9
|
var _client = require("../../client");
|
|
13
|
-
|
|
14
10
|
var _mockSecurity = require("../../mockSecurity");
|
|
15
|
-
|
|
16
11
|
var _utils2 = require("@webiny/utils");
|
|
17
|
-
|
|
12
|
+
var _extractAndUploadZipFileContents = require("../utils/extractAndUploadZipFileContents");
|
|
18
13
|
const pagesHandler = async (configuration, payload, context) => {
|
|
19
14
|
const log = console.log;
|
|
20
15
|
const {
|
|
@@ -28,10 +23,8 @@ const pagesHandler = async (configuration, payload, context) => {
|
|
|
28
23
|
identity,
|
|
29
24
|
meta
|
|
30
25
|
} = payload;
|
|
31
|
-
|
|
32
26
|
try {
|
|
33
27
|
log("RUNNING Import Pages Create");
|
|
34
|
-
|
|
35
28
|
if (!zipFileUrl) {
|
|
36
29
|
return {
|
|
37
30
|
data: null,
|
|
@@ -40,14 +33,14 @@ const pagesHandler = async (configuration, payload, context) => {
|
|
|
40
33
|
}
|
|
41
34
|
};
|
|
42
35
|
}
|
|
36
|
+
(0, _mockSecurity.mockSecurity)(identity, context);
|
|
37
|
+
// Step 1: Read the zip file
|
|
38
|
+
const pageImportDataList = await (0, _extractAndUploadZipFileContents.extractAndUploadZipFileContents)(zipFileUrl);
|
|
43
39
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const pageImportDataList = await (0, _utils.readExtractAndUploadZipFileContents)(zipFileUrl); // For each page create a subtask and invoke the process handler
|
|
47
|
-
|
|
40
|
+
// For each page create a subtask and invoke the process handler
|
|
48
41
|
for (let i = 0; i < pageImportDataList.length; i++) {
|
|
49
|
-
const pagesDirMap = pageImportDataList[i];
|
|
50
|
-
|
|
42
|
+
const pagesDirMap = pageImportDataList[i];
|
|
43
|
+
// Create sub-task
|
|
51
44
|
const subtask = await pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
|
|
52
45
|
status: _types.ImportExportTaskStatus.PENDING,
|
|
53
46
|
data: {
|
|
@@ -61,9 +54,8 @@ const pagesHandler = async (configuration, payload, context) => {
|
|
|
61
54
|
}
|
|
62
55
|
});
|
|
63
56
|
log(`Added SUB_TASK "${subtask.id}" to queue.`);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
57
|
+
}
|
|
58
|
+
// Update main task status
|
|
67
59
|
await pageBuilder.importExportTask.updateTask(task.id, {
|
|
68
60
|
status: _types.ImportExportTaskStatus.PROCESSING,
|
|
69
61
|
stats: (0, _utils.initialStats)(pageImportDataList.length)
|
|
@@ -82,6 +74,7 @@ const pagesHandler = async (configuration, payload, context) => {
|
|
|
82
74
|
});
|
|
83
75
|
} catch (e) {
|
|
84
76
|
log("[IMPORT_PAGES_CREATE] Error => ", e);
|
|
77
|
+
|
|
85
78
|
/**
|
|
86
79
|
* In case of error, we'll update the task status to "failed",
|
|
87
80
|
* so that, client can show notify the user appropriately.
|
|
@@ -102,11 +95,11 @@ const pagesHandler = async (configuration, payload, context) => {
|
|
|
102
95
|
}
|
|
103
96
|
};
|
|
104
97
|
}
|
|
105
|
-
|
|
106
98
|
return {
|
|
107
99
|
data: "",
|
|
108
100
|
error: null
|
|
109
101
|
};
|
|
110
102
|
};
|
|
103
|
+
exports.pagesHandler = pagesHandler;
|
|
111
104
|
|
|
112
|
-
|
|
105
|
+
//# sourceMappingURL=pagesHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pagesHandler","configuration","payload","context","log","console","pageBuilder","task","type","category","zipFileUrl","identity","meta","data","error","message","mockSecurity","pageImportDataList","
|
|
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":[]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { PbImportExportContext } from "../../types";
|
|
2
|
-
import { Configuration, Payload, Response } from "
|
|
1
|
+
import type { PbImportExportContext } from "../../types";
|
|
2
|
+
import type { Configuration, Payload, Response } from "./";
|
|
3
3
|
export declare const templatesHandler: (configuration: Configuration, payload: Payload, context: PbImportExportContext) => Promise<Response>;
|
|
@@ -4,17 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.templatesHandler = void 0;
|
|
7
|
-
|
|
8
7
|
var _types = require("../../types");
|
|
9
|
-
|
|
10
8
|
var _utils = require("../utils");
|
|
11
|
-
|
|
12
9
|
var _client = require("../../client");
|
|
13
|
-
|
|
14
10
|
var _mockSecurity = require("../../mockSecurity");
|
|
15
|
-
|
|
16
11
|
var _utils2 = require("@webiny/utils");
|
|
17
|
-
|
|
12
|
+
var _extractAndUploadZipFileContents = require("../utils/extractAndUploadZipFileContents");
|
|
18
13
|
const templatesHandler = async (configuration, payload, context) => {
|
|
19
14
|
const log = console.log;
|
|
20
15
|
const {
|
|
@@ -26,10 +21,8 @@ const templatesHandler = async (configuration, payload, context) => {
|
|
|
26
21
|
zipFileUrl,
|
|
27
22
|
identity
|
|
28
23
|
} = payload;
|
|
29
|
-
|
|
30
24
|
try {
|
|
31
25
|
log("RUNNING Import Templates Create");
|
|
32
|
-
|
|
33
26
|
if (!zipFileUrl) {
|
|
34
27
|
return {
|
|
35
28
|
data: null,
|
|
@@ -38,14 +31,14 @@ const templatesHandler = async (configuration, payload, context) => {
|
|
|
38
31
|
}
|
|
39
32
|
};
|
|
40
33
|
}
|
|
34
|
+
(0, _mockSecurity.mockSecurity)(identity, context);
|
|
35
|
+
// Step 1: Read the zip file
|
|
36
|
+
const templateImportDataList = await (0, _extractAndUploadZipFileContents.extractAndUploadZipFileContents)(zipFileUrl);
|
|
41
37
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const templateImportDataList = await (0, _utils.readExtractAndUploadZipFileContents)(zipFileUrl); // For each template create a subtask and invoke the process handler
|
|
45
|
-
|
|
38
|
+
// For each template create a subtask and invoke the process handler
|
|
46
39
|
for (let i = 0; i < templateImportDataList.length; i++) {
|
|
47
|
-
const templatesDirMap = templateImportDataList[i];
|
|
48
|
-
|
|
40
|
+
const templatesDirMap = templateImportDataList[i];
|
|
41
|
+
// Create sub task
|
|
49
42
|
const subtask = await pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
|
|
50
43
|
status: _types.ImportExportTaskStatus.PENDING,
|
|
51
44
|
data: {
|
|
@@ -57,9 +50,8 @@ const templatesHandler = async (configuration, payload, context) => {
|
|
|
57
50
|
}
|
|
58
51
|
});
|
|
59
52
|
log(`Added SUB_TASK "${subtask.id}" to queue.`);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
}
|
|
54
|
+
// Update main task status
|
|
63
55
|
await pageBuilder.importExportTask.updateTask(task.id, {
|
|
64
56
|
status: _types.ImportExportTaskStatus.PROCESSING,
|
|
65
57
|
stats: (0, _utils.initialStats)(templateImportDataList.length)
|
|
@@ -78,6 +70,7 @@ const templatesHandler = async (configuration, payload, context) => {
|
|
|
78
70
|
});
|
|
79
71
|
} catch (e) {
|
|
80
72
|
log("[IMPORT_TEMPLATES_CREATE] Error => ", e);
|
|
73
|
+
|
|
81
74
|
/**
|
|
82
75
|
* In case of error, we'll update the task status to "failed",
|
|
83
76
|
* so that, client can show notify the user appropriately.
|
|
@@ -98,11 +91,11 @@ const templatesHandler = async (configuration, payload, context) => {
|
|
|
98
91
|
}
|
|
99
92
|
};
|
|
100
93
|
}
|
|
101
|
-
|
|
102
94
|
return {
|
|
103
95
|
data: "",
|
|
104
96
|
error: null
|
|
105
97
|
};
|
|
106
98
|
};
|
|
99
|
+
exports.templatesHandler = templatesHandler;
|
|
107
100
|
|
|
108
|
-
|
|
101
|
+
//# sourceMappingURL=templatesHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["templatesHandler","configuration","payload","context","log","console","pageBuilder","task","type","zipFileUrl","identity","data","error","message","mockSecurity","templateImportDataList","
|
|
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":"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","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
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.PROCESS_PAGES_WAIT_TIME = exports.ImportPagesProcessPagesChecker = void 0;
|
|
7
|
+
var _types = require("../types");
|
|
8
|
+
var _tasks = require("@webiny/tasks");
|
|
9
|
+
const PROCESS_PAGES_WAIT_TIME = exports.PROCESS_PAGES_WAIT_TIME = 5; // seconds
|
|
10
|
+
|
|
11
|
+
class ImportPagesProcessPagesChecker {
|
|
12
|
+
async execute(params) {
|
|
13
|
+
const {
|
|
14
|
+
response,
|
|
15
|
+
context,
|
|
16
|
+
store
|
|
17
|
+
} = params;
|
|
18
|
+
const {
|
|
19
|
+
items
|
|
20
|
+
} = await context.tasks.listTasks({
|
|
21
|
+
where: {
|
|
22
|
+
parentId: store.getTask().id,
|
|
23
|
+
definitionId: _types.PageImportTask.Process,
|
|
24
|
+
taskStatus_in: [_tasks.TaskDataStatus.RUNNING, _tasks.TaskDataStatus.PENDING]
|
|
25
|
+
},
|
|
26
|
+
limit: 1
|
|
27
|
+
});
|
|
28
|
+
if (items.length > 0) {
|
|
29
|
+
return response.continue({
|
|
30
|
+
...params.input
|
|
31
|
+
}, {
|
|
32
|
+
seconds: PROCESS_PAGES_WAIT_TIME
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return response.done();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.ImportPagesProcessPagesChecker = ImportPagesProcessPagesChecker;
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=ImportPagesProcessPagesChecker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_types","require","_tasks","PROCESS_PAGES_WAIT_TIME","exports","ImportPagesProcessPagesChecker","execute","params","response","context","store","items","tasks","listTasks","where","parentId","getTask","id","definitionId","PageImportTask","Process","taskStatus_in","TaskDataStatus","RUNNING","PENDING","limit","length","continue","input","seconds","done"],"sources":["ImportPagesProcessPagesChecker.ts"],"sourcesContent":["import type { IImportPagesControllerTaskParams } from \"~/import/pages/types\";\nimport { PageImportTask } from \"~/import/pages/types\";\nimport type { ITaskResponseResult } from \"@webiny/tasks\";\nimport { TaskDataStatus } from \"@webiny/tasks\";\n\nexport const PROCESS_PAGES_WAIT_TIME = 5; // seconds\n\nexport class ImportPagesProcessPagesChecker {\n public async execute(params: IImportPagesControllerTaskParams): Promise<ITaskResponseResult> {\n const { response, context, store } = params;\n\n const { items } = await context.tasks.listTasks({\n where: {\n parentId: store.getTask().id,\n definitionId: PageImportTask.Process,\n taskStatus_in: [TaskDataStatus.RUNNING, TaskDataStatus.PENDING]\n },\n limit: 1\n });\n if (items.length > 0) {\n return response.continue(\n {\n ...params.input\n },\n {\n seconds: PROCESS_PAGES_WAIT_TIME\n }\n );\n }\n return response.done();\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAEO,MAAME,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,CAAC,CAAC,CAAC;;AAEnC,MAAME,8BAA8B,CAAC;EACxC,MAAaC,OAAOA,CAACC,MAAwC,EAAgC;IACzF,MAAM;MAAEC,QAAQ;MAAEC,OAAO;MAAEC;IAAM,CAAC,GAAGH,MAAM;IAE3C,MAAM;MAAEI;IAAM,CAAC,GAAG,MAAMF,OAAO,CAACG,KAAK,CAACC,SAAS,CAAC;MAC5CC,KAAK,EAAE;QACHC,QAAQ,EAAEL,KAAK,CAACM,OAAO,CAAC,CAAC,CAACC,EAAE;QAC5BC,YAAY,EAAEC,qBAAc,CAACC,OAAO;QACpCC,aAAa,EAAE,CAACC,qBAAc,CAACC,OAAO,EAAED,qBAAc,CAACE,OAAO;MAClE,CAAC;MACDC,KAAK,EAAE;IACX,CAAC,CAAC;IACF,IAAId,KAAK,CAACe,MAAM,GAAG,CAAC,EAAE;MAClB,OAAOlB,QAAQ,CAACmB,QAAQ,CACpB;QACI,GAAGpB,MAAM,CAACqB;MACd,CAAC,EACD;QACIC,OAAO,EAAE1B;MACb,CACJ,CAAC;IACL;IACA,OAAOK,QAAQ,CAACsB,IAAI,CAAC,CAAC;EAC1B;AACJ;AAAC1B,OAAA,CAAAC,8BAAA,GAAAA,8BAAA","ignoreList":[]}
|