@webiny/api-page-builder-import-export 0.0.0-unstable.990c3ab1b6 → 0.0.0-unstable.aa00eecd97
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.map +1 -1
- package/export/combine/blocksHandler.d.ts +6 -0
- package/export/combine/blocksHandler.js +99 -0
- package/export/combine/blocksHandler.js.map +1 -0
- package/export/combine/formsHandler.d.ts +6 -0
- package/export/combine/formsHandler.js +99 -0
- package/export/combine/formsHandler.js.map +1 -0
- package/{exportPages → export}/combine/index.d.ts +3 -2
- package/export/combine/index.js +40 -0
- package/export/combine/index.js.map +1 -0
- package/export/combine/pagesHandler.d.ts +6 -0
- package/export/combine/pagesHandler.js +99 -0
- package/export/combine/pagesHandler.js.map +1 -0
- package/export/combine/templatesHandler.d.ts +6 -0
- package/export/combine/templatesHandler.js +99 -0
- package/export/combine/templatesHandler.js.map +1 -0
- package/export/process/blocksHandler.d.ts +6 -0
- package/export/process/blocksHandler.js +162 -0
- package/export/process/blocksHandler.js.map +1 -0
- package/export/process/formsHandler.d.ts +6 -0
- package/export/process/formsHandler.js +187 -0
- package/export/process/formsHandler.js.map +1 -0
- package/{exportPages → export}/process/index.d.ts +4 -6
- package/export/process/index.js +37 -0
- package/export/process/index.js.map +1 -0
- package/export/process/pagesHandler.d.ts +6 -0
- package/export/process/pagesHandler.js +189 -0
- package/export/process/pagesHandler.js.map +1 -0
- package/export/process/templatesHandler.d.ts +6 -0
- package/export/process/templatesHandler.js +166 -0
- package/export/process/templatesHandler.js.map +1 -0
- package/{exportPages → export}/s3Stream.d.ts +5 -2
- package/export/s3Stream.js.map +1 -0
- package/export/utils.d.ts +29 -0
- package/export/utils.js +188 -0
- package/export/utils.js.map +1 -0
- package/{exportPages → export}/zipper.d.ts +6 -5
- package/{exportPages → export}/zipper.js +9 -8
- package/export/zipper.js.map +1 -0
- package/graphql/crud/blocks.crud.d.ts +4 -0
- package/graphql/crud/blocks.crud.js +136 -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 +129 -0
- package/graphql/crud/forms.crud.js.map +1 -0
- package/graphql/crud/importExportTasks.crud.d.ts +5 -0
- package/graphql/crud/{pageImportExportTasks.crud.js → importExportTasks.crud.js} +50 -55
- package/graphql/crud/importExportTasks.crud.js.map +1 -0
- package/graphql/crud/pages.crud.d.ts +2 -2
- package/graphql/crud/pages.crud.js +18 -14
- package/graphql/crud/pages.crud.js.map +1 -1
- package/graphql/crud/templates.crud.d.ts +4 -0
- package/graphql/crud/templates.crud.js +124 -0
- package/graphql/crud/templates.crud.js.map +1 -0
- package/graphql/crud.d.ts +2 -2
- package/graphql/crud.js +5 -2
- 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/{pageImportExportTasks.gql.js → importExportTasks.gql.js} +17 -17
- package/graphql/graphql/importExportTasks.gql.js.map +1 -0
- package/graphql/graphql/pages.gql.d.ts +2 -2
- package/graphql/graphql/pages.gql.js +3 -9
- 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.js +5 -2
- package/graphql/graphql.js.map +1 -1
- package/graphql/index.d.ts +2 -2
- package/graphql/index.js.map +1 -1
- package/graphql/types.d.ts +83 -23
- package/graphql/types.js.map +1 -1
- package/import/constants.d.ts +3 -0
- package/import/constants.js +14 -0
- package/import/constants.js.map +1 -0
- package/import/create/blocksHandler.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 +103 -0
- package/import/create/formsHandler.js.map +1 -0
- package/{importPages → import}/create/index.d.ts +7 -5
- package/import/create/index.js +40 -0
- package/import/create/index.js.map +1 -0
- package/import/create/pagesHandler.d.ts +3 -0
- package/import/create/pagesHandler.js +103 -0
- package/import/create/pagesHandler.js.map +1 -0
- package/import/create/templatesHandler.d.ts +3 -0
- package/import/create/templatesHandler.js +99 -0
- package/import/create/templatesHandler.js.map +1 -0
- package/import/process/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 +92 -0
- package/import/process/blocks/importBlock.js.map +1 -0
- package/import/process/forms/formsHandler.d.ts +3 -0
- package/import/process/forms/formsHandler.js +176 -0
- package/import/process/forms/formsHandler.js.map +1 -0
- package/import/process/forms/importForm.d.ts +9 -0
- package/import/process/forms/importForm.js +43 -0
- package/import/process/forms/importForm.js.map +1 -0
- package/{importPages → import}/process/index.d.ts +5 -3
- package/import/process/index.js +37 -0
- package/import/process/index.js.map +1 -0
- package/import/process/pages/importPage.d.ts +11 -0
- package/import/process/pages/importPage.js +92 -0
- package/import/process/pages/importPage.js.map +1 -0
- package/import/process/pages/pagesHandler.d.ts +3 -0
- package/import/process/pages/pagesHandler.js +183 -0
- package/import/process/pages/pagesHandler.js.map +1 -0
- package/import/process/templates/importTemplate.d.ts +11 -0
- package/import/process/templates/importTemplate.js +66 -0
- package/import/process/templates/importTemplate.js.map +1 -0
- package/import/process/templates/templatesHandler.d.ts +3 -0
- package/import/process/templates/templatesHandler.js +170 -0
- package/import/process/templates/templatesHandler.js.map +1 -0
- package/import/utils/deleteS3Folder.d.ts +1 -0
- package/import/utils/deleteS3Folder.js +19 -0
- package/import/utils/deleteS3Folder.js.map +1 -0
- package/import/utils/extractAndUploadZipFileContents.d.ts +7 -0
- package/import/utils/extractAndUploadZipFileContents.js +122 -0
- package/import/utils/extractAndUploadZipFileContents.js.map +1 -0
- package/import/utils/extractZipAndUploadToS3.d.ts +2 -0
- package/import/utils/extractZipAndUploadToS3.js +98 -0
- package/import/utils/extractZipAndUploadToS3.js.map +1 -0
- package/import/utils/getFileNameWithoutExt.d.ts +1 -0
- package/import/utils/getFileNameWithoutExt.js +11 -0
- package/import/utils/getFileNameWithoutExt.js.map +1 -0
- package/import/utils/index.d.ts +9 -0
- package/import/utils/index.js +104 -0
- package/import/utils/index.js.map +1 -0
- package/import/utils/initialStats.d.ts +7 -0
- package/import/utils/initialStats.js +16 -0
- package/import/utils/initialStats.js.map +1 -0
- package/import/utils/prepareDataDirMap.d.ts +6 -0
- package/import/utils/prepareDataDirMap.js +29 -0
- package/import/utils/prepareDataDirMap.js.map +1 -0
- package/import/utils/updateFilesInData.d.ts +8 -0
- package/import/utils/updateFilesInData.js +48 -0
- package/import/utils/updateFilesInData.js.map +1 -0
- package/import/utils/uploadAssets.d.ts +10 -0
- package/import/utils/uploadAssets.js +49 -0
- package/import/utils/uploadAssets.js.map +1 -0
- package/import/utils/uploadFilesFromS3.d.ts +3 -0
- package/import/utils/uploadFilesFromS3.js +19 -0
- package/import/utils/uploadFilesFromS3.js.map +1 -0
- package/package.json +37 -37
- package/types.d.ts +83 -65
- package/types.js +17 -17
- package/types.js.map +1 -1
- package/exportPages/combine/index.js +0 -106
- package/exportPages/combine/index.js.map +0 -1
- package/exportPages/process/index.js +0 -192
- package/exportPages/process/index.js.map +0 -1
- package/exportPages/s3Stream.js.map +0 -1
- package/exportPages/utils.d.ts +0 -13
- package/exportPages/utils.js +0 -100
- package/exportPages/utils.js.map +0 -1
- package/exportPages/zipper.js.map +0 -1
- package/graphql/crud/pageImportExportTasks.crud.d.ts +0 -5
- package/graphql/crud/pageImportExportTasks.crud.js.map +0 -1
- package/graphql/graphql/pageImportExportTasks.gql.d.ts +0 -4
- package/graphql/graphql/pageImportExportTasks.gql.js.map +0 -1
- package/importPages/create/index.js +0 -107
- package/importPages/create/index.js.map +0 -1
- package/importPages/process/index.js +0 -180
- package/importPages/process/index.js.map +0 -1
- package/importPages/utils.d.ts +0 -50
- package/importPages/utils.js +0 -488
- package/importPages/utils.js.map +0 -1
- /package/{exportPages → export}/s3Stream.js +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["plugin","type","schema","typeDefs","resolvers","PbQuery","getImportExportTask","_","args","context","resolve","pageBuilder","importExportTask","getTask","id","listImportExportSubTask","listSubTasks","status","limit"],"sources":["importExportTasks.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport resolve from \"./utils/resolve\";\nimport { PbImportExportContext } from \"../types\";\n\nconst plugin: GraphQLSchemaPlugin<PbImportExportContext> = {\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n enum PbImportExportTaskStatus {\n pending\n processing\n completed\n failed\n }\n\n type PbImportExportTaskStats {\n pending: Int\n processing: Int\n completed: Int\n failed: Int\n total: Int\n }\n\n type PbImportExportTask {\n id: ID\n createdOn: DateTime\n createdBy: PbCreatedBy\n status: PbImportExportTaskStatus\n data: JSON\n stats: PbImportExportTaskStats\n error: JSON\n }\n\n # Response types\n type PbImportExportTaskResponse {\n data: PbImportExportTask\n error: PbError\n }\n\n type PbImportExportTaskListResponse {\n data: [PbImportExportTask]\n error: PbError\n }\n\n extend type PbQuery {\n getImportExportTask(id: ID!): PbImportExportTaskResponse\n listImportExportSubTask(\n id: ID!\n status: PbImportExportTaskStatus\n limit: Int\n ): PbImportExportTaskListResponse\n }\n `,\n resolvers: {\n PbQuery: {\n getImportExportTask: async (_, args: any, context) => {\n return resolve(() => {\n return context.pageBuilder.importExportTask.getTask(args.id);\n });\n },\n listImportExportSubTask: async (_, args: any, context) => {\n return resolve(() => {\n return context.pageBuilder.importExportTask.listSubTasks(\n args.id,\n args.status,\n args.limit\n );\n });\n }\n }\n }\n }\n};\nexport default plugin;\n"],"mappings":";;;;;;;AACA;AAGA,MAAMA,MAAkD,GAAG;EACvDC,IAAI,EAAE,gBAAgB;EACtBC,MAAM,EAAE;IACJC,QAAQ,EAAE,aAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDC,SAAS,EAAE;MACPC,OAAO,EAAE;QACLC,mBAAmB,EAAE,OAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAClD,OAAO,IAAAC,gBAAO,EAAC,MAAM;YACjB,OAAOD,OAAO,CAACE,WAAW,CAACC,gBAAgB,CAACC,OAAO,CAACL,IAAI,CAACM,EAAE,CAAC;UAChE,CAAC,CAAC;QACN,CAAC;QACDC,uBAAuB,EAAE,OAAOR,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UACtD,OAAO,IAAAC,gBAAO,EAAC,MAAM;YACjB,OAAOD,OAAO,CAACE,WAAW,CAACC,gBAAgB,CAACI,YAAY,CACpDR,IAAI,CAACM,EAAE,EACPN,IAAI,CAACS,MAAM,EACXT,IAAI,CAACU,KAAK,CACb;UACL,CAAC,CAAC;QACN;MACJ;IACJ;EACJ;AACJ,CAAC;AAAC,eACalB,MAAM;AAAA"}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/types";
|
2
|
-
import {
|
3
|
-
declare const plugin: GraphQLSchemaPlugin<
|
2
|
+
import { PbImportExportContext } from "../types";
|
3
|
+
declare const plugin: GraphQLSchemaPlugin<PbImportExportContext>;
|
4
4
|
export default plugin;
|
@@ -11,7 +11,7 @@ const plugin = {
|
|
11
11
|
schema: {
|
12
12
|
typeDefs: /* GraphQL */`
|
13
13
|
type PbExportPageData {
|
14
|
-
task:
|
14
|
+
task: PbImportExportTask
|
15
15
|
}
|
16
16
|
|
17
17
|
type PbExportPageResponse {
|
@@ -20,7 +20,7 @@ const plugin = {
|
|
20
20
|
}
|
21
21
|
|
22
22
|
type PbImportPageData {
|
23
|
-
task:
|
23
|
+
task: PbImportExportTask
|
24
24
|
}
|
25
25
|
|
26
26
|
type PbImportPageResponse {
|
@@ -44,21 +44,15 @@ const plugin = {
|
|
44
44
|
): PbExportPageResponse
|
45
45
|
|
46
46
|
# Import pages
|
47
|
-
importPages(category: String!, zipFileUrl: String): PbImportPageResponse
|
47
|
+
importPages(category: String!, zipFileUrl: String, meta: JSON): PbImportPageResponse
|
48
48
|
}
|
49
49
|
`,
|
50
50
|
resolvers: {
|
51
51
|
PbMutation: {
|
52
52
|
exportPages: async (_, args, context) => {
|
53
|
-
/**
|
54
|
-
* We know that args is ExportPagesParams.
|
55
|
-
*/
|
56
53
|
return (0, _resolve.default)(() => context.pageBuilder.pages.exportPages(args));
|
57
54
|
},
|
58
55
|
importPages: async (_, args, context) => {
|
59
|
-
/**
|
60
|
-
* We know that args is ExportPagesParams.
|
61
|
-
*/
|
62
56
|
return (0, _resolve.default)(() => context.pageBuilder.pages.importPages(args));
|
63
57
|
}
|
64
58
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["plugin","type","schema","typeDefs","resolvers","PbMutation","exportPages","_","args","context","resolve","pageBuilder","pages","importPages"],"sources":["pages.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport {
|
1
|
+
{"version":3,"names":["plugin","type","schema","typeDefs","resolvers","PbMutation","exportPages","_","args","context","resolve","pageBuilder","pages","importPages"],"sources":["pages.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport { PbImportExportContext } from \"../types\";\nimport resolve from \"./utils/resolve\";\n\nconst plugin: GraphQLSchemaPlugin<PbImportExportContext> = {\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n type PbExportPageData {\n task: PbImportExportTask\n }\n\n type PbExportPageResponse {\n data: PbExportPageData\n error: PbError\n }\n\n type PbImportPageData {\n task: PbImportExportTask\n }\n\n type PbImportPageResponse {\n data: PbImportPageData\n error: PbError\n }\n\n enum PbExportPageRevisionType {\n published\n latest\n }\n\n extend type PbMutation {\n # Export pages\n exportPages(\n ids: [ID!]\n revisionType: PbExportPageRevisionType!\n where: PbListPagesWhereInput\n sort: [PbListPagesSort!]\n search: PbListPagesSearchInput\n ): PbExportPageResponse\n\n # Import pages\n importPages(category: String!, zipFileUrl: String, meta: JSON): PbImportPageResponse\n }\n `,\n resolvers: {\n PbMutation: {\n exportPages: async (_, args: any, context) => {\n return resolve(() => context.pageBuilder.pages.exportPages(args));\n },\n\n importPages: async (_, args: any, context) => {\n return resolve(() => context.pageBuilder.pages.importPages(args));\n }\n }\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;AAEA;AAEA,MAAMA,MAAkD,GAAG;EACvDC,IAAI,EAAE,gBAAgB;EACtBC,MAAM,EAAE;IACJC,QAAQ,EAAE,aAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDC,SAAS,EAAE;MACPC,UAAU,EAAE;QACRC,WAAW,EAAE,OAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAC1C,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,WAAW,CAACC,KAAK,CAACN,WAAW,CAACE,IAAI,CAAC,CAAC;QACrE,CAAC;QAEDK,WAAW,EAAE,OAAON,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAC1C,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,WAAW,CAACC,KAAK,CAACC,WAAW,CAACL,IAAI,CAAC,CAAC;QACrE;MACJ;IACJ;EACJ;AACJ,CAAC;AAAC,eAEaR,MAAM;AAAA"}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.default = void 0;
|
8
|
+
var _resolve = _interopRequireDefault(require("./utils/resolve"));
|
9
|
+
const plugin = {
|
10
|
+
type: "graphql-schema",
|
11
|
+
schema: {
|
12
|
+
typeDefs: /* GraphQL */`
|
13
|
+
type PbExportTemplateData {
|
14
|
+
task: PbImportExportTask
|
15
|
+
}
|
16
|
+
|
17
|
+
type PbExportTemplateResponse {
|
18
|
+
data: PbExportTemplateData
|
19
|
+
error: PbError
|
20
|
+
}
|
21
|
+
|
22
|
+
type PbImportTemplateData {
|
23
|
+
task: PbImportExportTask
|
24
|
+
}
|
25
|
+
|
26
|
+
type PbImportTemplateResponse {
|
27
|
+
data: PbImportTemplateData
|
28
|
+
error: PbError
|
29
|
+
}
|
30
|
+
|
31
|
+
extend type PbMutation {
|
32
|
+
# Export templates
|
33
|
+
exportTemplates(ids: [ID!]): PbExportTemplateResponse
|
34
|
+
|
35
|
+
# Import templates
|
36
|
+
importTemplates(zipFileUrl: String): PbImportTemplateResponse
|
37
|
+
}
|
38
|
+
`,
|
39
|
+
resolvers: {
|
40
|
+
PbMutation: {
|
41
|
+
exportTemplates: async (_, args, context) => {
|
42
|
+
return (0, _resolve.default)(() => context.pageBuilder.templates.exportTemplates(args));
|
43
|
+
},
|
44
|
+
importTemplates: async (_, args, context) => {
|
45
|
+
return (0, _resolve.default)(() => context.pageBuilder.templates.importTemplates(args));
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}
|
49
|
+
}
|
50
|
+
};
|
51
|
+
var _default = plugin;
|
52
|
+
exports.default = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["plugin","type","schema","typeDefs","resolvers","PbMutation","exportTemplates","_","args","context","resolve","pageBuilder","templates","importTemplates"],"sources":["templates.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport { PbImportExportContext } from \"../types\";\nimport resolve from \"./utils/resolve\";\n\nconst plugin: GraphQLSchemaPlugin<PbImportExportContext> = {\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n type PbExportTemplateData {\n task: PbImportExportTask\n }\n\n type PbExportTemplateResponse {\n data: PbExportTemplateData\n error: PbError\n }\n\n type PbImportTemplateData {\n task: PbImportExportTask\n }\n\n type PbImportTemplateResponse {\n data: PbImportTemplateData\n error: PbError\n }\n\n extend type PbMutation {\n # Export templates\n exportTemplates(ids: [ID!]): PbExportTemplateResponse\n\n # Import templates\n importTemplates(zipFileUrl: String): PbImportTemplateResponse\n }\n `,\n resolvers: {\n PbMutation: {\n exportTemplates: async (_, args: any, context) => {\n return resolve(() => context.pageBuilder.templates.exportTemplates(args));\n },\n\n importTemplates: async (_, args: any, context) => {\n return resolve(() => context.pageBuilder.templates.importTemplates(args));\n }\n }\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;AAEA;AAEA,MAAMA,MAAkD,GAAG;EACvDC,IAAI,EAAE,gBAAgB;EACtBC,MAAM,EAAE;IACJC,QAAQ,EAAE,aAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDC,SAAS,EAAE;MACPC,UAAU,EAAE;QACRC,eAAe,EAAE,OAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAC9C,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,WAAW,CAACC,SAAS,CAACN,eAAe,CAACE,IAAI,CAAC,CAAC;QAC7E,CAAC;QAEDK,eAAe,EAAE,OAAON,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAC9C,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,WAAW,CAACC,SAAS,CAACC,eAAe,CAACL,IAAI,CAAC,CAAC;QAC7E;MACJ;IACJ;EACJ;AACJ,CAAC;AAAC,eAEaR,MAAM;AAAA"}
|
package/graphql/graphql.js
CHANGED
@@ -5,7 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
6
6
|
});
|
7
7
|
exports.default = void 0;
|
8
|
+
var _blocks = _interopRequireDefault(require("./graphql/blocks.gql"));
|
9
|
+
var _forms = _interopRequireDefault(require("./graphql/forms.gql"));
|
8
10
|
var _pages = _interopRequireDefault(require("./graphql/pages.gql"));
|
9
|
-
var
|
10
|
-
var
|
11
|
+
var _templates = _interopRequireDefault(require("./graphql/templates.gql"));
|
12
|
+
var _importExportTasks = _interopRequireDefault(require("./graphql/importExportTasks.gql"));
|
13
|
+
var _default = [_blocks.default, _forms.default, _pages.default, _templates.default, _importExportTasks.default];
|
11
14
|
exports.default = _default;
|
package/graphql/graphql.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["pages","
|
1
|
+
{"version":3,"names":["blocks","forms","pages","templates","importExportTask"],"sources":["graphql.ts"],"sourcesContent":["import blocks from \"./graphql/blocks.gql\";\nimport forms from \"./graphql/forms.gql\";\nimport pages from \"./graphql/pages.gql\";\nimport templates from \"./graphql/templates.gql\";\nimport importExportTask from \"./graphql/importExportTasks.gql\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\n\nexport default [blocks, forms, pages, templates, importExportTask] as GraphQLSchemaPlugin[];\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AAA+D,eAGhD,CAACA,eAAM,EAAEC,cAAK,EAAEC,cAAK,EAAEC,kBAAS,EAAEC,0BAAgB,CAAC;AAAA"}
|
package/graphql/index.d.ts
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
import {
|
2
|
-
declare const _default: (params:
|
1
|
+
import { ImportExportPluginsParams } from "./types";
|
2
|
+
declare const _default: (params: ImportExportPluginsParams) => (import("@webiny/api").ContextPlugin<import("~/graphql/types").PbImportExportContext>[] | import("@webiny/handler-graphql/types").GraphQLSchemaPlugin<import("@webiny/api/types").Context>[])[];
|
3
3
|
export default _default;
|
package/graphql/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["params","crud","graphql"],"sources":["index.ts"],"sourcesContent":["import crud from \"./crud\";\nimport graphql from \"./graphql\";\nimport {
|
1
|
+
{"version":3,"names":["params","crud","graphql"],"sources":["index.ts"],"sourcesContent":["import crud from \"./crud\";\nimport graphql from \"./graphql\";\nimport { ImportExportPluginsParams } from \"~/graphql/types\";\n\nexport default (params: ImportExportPluginsParams) => [crud(params), graphql];\n"],"mappings":";;;;;;;AAAA;AACA;AAAgC,eAGhBA,MAAiC,IAAK,CAAC,IAAAC,aAAI,EAACD,MAAM,CAAC,EAAEE,gBAAO,CAAC;AAAA"}
|
package/graphql/types.d.ts
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
import { PbContext } from "@webiny/api-page-builder/types";
|
2
|
-
import {
|
2
|
+
import { FormBuilderContext } from "@webiny/api-form-builder/types";
|
3
|
+
import { ExportRevisionType, ImportExportTask, ImportExportTaskStatus, ImportExportTaskStorageOperations, ImportExportTaskStorageOperationsListParams } from "../types";
|
3
4
|
export interface ExportPagesParams {
|
4
5
|
ids?: string[];
|
5
|
-
revisionType:
|
6
|
+
revisionType: ExportRevisionType;
|
6
7
|
where?: {
|
7
8
|
category?: string;
|
8
9
|
status?: string;
|
@@ -20,43 +21,102 @@ export interface ExportPagesParams {
|
|
20
21
|
export interface ImportPagesParams {
|
21
22
|
category: string;
|
22
23
|
zipFileUrl: string;
|
24
|
+
meta?: Record<string, any>;
|
23
25
|
}
|
24
26
|
export declare type PagesImportExportCrud = {
|
25
27
|
exportPages(params: ExportPagesParams): Promise<{
|
26
|
-
task:
|
28
|
+
task: ImportExportTask;
|
27
29
|
}>;
|
28
30
|
importPages(params: ImportPagesParams): Promise<{
|
29
|
-
task:
|
31
|
+
task: ImportExportTask;
|
30
32
|
}>;
|
31
33
|
};
|
32
|
-
|
33
|
-
|
34
|
+
export interface ExportBlocksParams {
|
35
|
+
ids?: string[];
|
36
|
+
sort?: string[];
|
37
|
+
where?: {
|
38
|
+
blockCategory?: string;
|
39
|
+
};
|
40
|
+
}
|
41
|
+
export interface ImportBlocksParams {
|
42
|
+
category: string;
|
43
|
+
zipFileUrl: string;
|
44
|
+
}
|
45
|
+
export declare type BlocksImportExportCrud = {
|
46
|
+
exportBlocks(params: ExportBlocksParams): Promise<{
|
47
|
+
task: ImportExportTask;
|
48
|
+
}>;
|
49
|
+
importBlocks(params: ImportBlocksParams): Promise<{
|
50
|
+
task: ImportExportTask;
|
51
|
+
}>;
|
52
|
+
};
|
53
|
+
export interface ExportTemplatesParams {
|
54
|
+
ids?: string[];
|
55
|
+
sort?: string[];
|
56
|
+
}
|
57
|
+
export interface ImportTemplatesParams {
|
58
|
+
zipFileUrl: string;
|
59
|
+
}
|
60
|
+
export declare type TemplatesImportExportCrud = {
|
61
|
+
exportTemplates(params: ExportTemplatesParams): Promise<{
|
62
|
+
task: ImportExportTask;
|
63
|
+
}>;
|
64
|
+
importTemplates(params: ImportTemplatesParams): Promise<{
|
65
|
+
task: ImportExportTask;
|
66
|
+
}>;
|
67
|
+
};
|
68
|
+
export interface ExportFormsParams {
|
69
|
+
ids?: string[];
|
70
|
+
revisionType: ExportRevisionType;
|
71
|
+
search?: {
|
72
|
+
query?: string;
|
73
|
+
};
|
74
|
+
sort?: string[];
|
75
|
+
}
|
76
|
+
export interface ImportFormsParams {
|
77
|
+
zipFileUrl: string;
|
78
|
+
}
|
79
|
+
export declare type FormsImportExportCrud = {
|
80
|
+
exportForms(params: ExportFormsParams): Promise<{
|
81
|
+
task: ImportExportTask;
|
82
|
+
}>;
|
83
|
+
importForms(params: ImportFormsParams): Promise<{
|
84
|
+
task: ImportExportTask;
|
85
|
+
}>;
|
86
|
+
};
|
87
|
+
declare type ImportExportTaskCreateData = Omit<ImportExportTask, "id" | "createdOn" | "createdBy">;
|
88
|
+
export declare type ImportExportTaskCrud = {
|
34
89
|
/**
|
35
90
|
* To be used internally in our code.
|
36
91
|
* @internal
|
37
92
|
*/
|
38
|
-
storageOperations:
|
39
|
-
getTask(id: string): Promise<
|
40
|
-
listTasks(params?:
|
41
|
-
createTask(data: Partial<
|
42
|
-
updateTask(id: string, data: Partial<
|
93
|
+
storageOperations: ImportExportTaskStorageOperations;
|
94
|
+
getTask(id: string): Promise<ImportExportTask | null>;
|
95
|
+
listTasks(params?: ImportExportTaskStorageOperationsListParams): Promise<ImportExportTask[]>;
|
96
|
+
createTask(data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
|
97
|
+
updateTask(id: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
|
43
98
|
updateStats(id: string, data: {
|
44
|
-
prevStatus:
|
45
|
-
nextStatus:
|
46
|
-
}): Promise<
|
47
|
-
deleteTask(id: string): Promise<
|
48
|
-
getSubTask(id: string, subtaskId: string): Promise<
|
49
|
-
listSubTasks(id: string, status:
|
50
|
-
createSubTask(id: string, subTaskId: string, data: Partial<
|
51
|
-
updateSubTask(id: string, subTaskId: string, data: Partial<
|
99
|
+
prevStatus: ImportExportTaskStatus;
|
100
|
+
nextStatus: ImportExportTaskStatus;
|
101
|
+
}): Promise<ImportExportTask>;
|
102
|
+
deleteTask(id: string): Promise<ImportExportTask>;
|
103
|
+
getSubTask(id: string, subtaskId: string): Promise<ImportExportTask | null>;
|
104
|
+
listSubTasks(id: string, status: ImportExportTaskStatus, limit: number): Promise<ImportExportTask[]>;
|
105
|
+
createSubTask(id: string, subTaskId: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
|
106
|
+
updateSubTask(id: string, subTaskId: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
|
52
107
|
};
|
53
|
-
export interface
|
108
|
+
export interface PbImportExportContext extends PbContext {
|
54
109
|
pageBuilder: PbContext["pageBuilder"] & {
|
55
110
|
pages: PagesImportExportCrud;
|
56
|
-
|
111
|
+
blocks: BlocksImportExportCrud;
|
112
|
+
templates: TemplatesImportExportCrud;
|
113
|
+
importExportTask: ImportExportTaskCrud;
|
114
|
+
};
|
115
|
+
formBuilder: FormBuilderContext["formBuilder"] & {
|
116
|
+
forms: FormsImportExportCrud;
|
57
117
|
};
|
58
118
|
}
|
59
|
-
export interface
|
60
|
-
storageOperations:
|
119
|
+
export interface ImportExportPluginsParams {
|
120
|
+
storageOperations: ImportExportTaskStorageOperations;
|
61
121
|
}
|
62
122
|
export {};
|
package/graphql/types.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { PbContext } from \"@webiny/api-page-builder/types\";\nimport {\n
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { PbContext } from \"@webiny/api-page-builder/types\";\nimport { FormBuilderContext } from \"@webiny/api-form-builder/types\";\nimport {\n ExportRevisionType,\n ImportExportTask,\n ImportExportTaskStatus,\n ImportExportTaskStorageOperations,\n ImportExportTaskStorageOperationsListParams\n} from \"~/types\";\n\nexport interface ExportPagesParams {\n ids?: string[];\n revisionType: ExportRevisionType;\n where?: {\n category?: string;\n status?: string;\n tags?: { query: string[]; rule?: \"any\" | \"all\" };\n [key: string]: any;\n };\n search?: { query?: string };\n sort?: string[];\n}\n\nexport interface ImportPagesParams {\n category: string;\n zipFileUrl: string;\n meta?: Record<string, any>;\n}\n\nexport type PagesImportExportCrud = {\n exportPages(params: ExportPagesParams): Promise<{ task: ImportExportTask }>;\n importPages(params: ImportPagesParams): Promise<{ task: ImportExportTask }>;\n};\n\nexport interface ExportBlocksParams {\n ids?: string[];\n sort?: string[];\n where?: {\n blockCategory?: string;\n };\n}\n\nexport interface ImportBlocksParams {\n category: string;\n zipFileUrl: string;\n}\n\nexport type BlocksImportExportCrud = {\n exportBlocks(params: ExportBlocksParams): Promise<{ task: ImportExportTask }>;\n importBlocks(params: ImportBlocksParams): Promise<{ task: ImportExportTask }>;\n};\n\nexport interface ExportTemplatesParams {\n ids?: string[];\n sort?: string[];\n}\n\nexport interface ImportTemplatesParams {\n zipFileUrl: string;\n}\n\nexport type TemplatesImportExportCrud = {\n exportTemplates(params: ExportTemplatesParams): Promise<{ task: ImportExportTask }>;\n importTemplates(params: ImportTemplatesParams): Promise<{ task: ImportExportTask }>;\n};\n\nexport interface ExportFormsParams {\n ids?: string[];\n revisionType: ExportRevisionType;\n search?: { query?: string };\n sort?: string[];\n}\n\nexport interface ImportFormsParams {\n zipFileUrl: string;\n}\n\nexport type FormsImportExportCrud = {\n exportForms(params: ExportFormsParams): Promise<{ task: ImportExportTask }>;\n importForms(params: ImportFormsParams): Promise<{ task: ImportExportTask }>;\n};\n\ntype ImportExportTaskCreateData = Omit<ImportExportTask, \"id\" | \"createdOn\" | \"createdBy\">;\n\nexport type ImportExportTaskCrud = {\n /**\n * To be used internally in our code.\n * @internal\n */\n storageOperations: ImportExportTaskStorageOperations;\n\n getTask(id: string): Promise<ImportExportTask | null>;\n listTasks(params?: ImportExportTaskStorageOperationsListParams): Promise<ImportExportTask[]>;\n createTask(data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;\n updateTask(id: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;\n updateStats(\n id: string,\n data: {\n prevStatus: ImportExportTaskStatus;\n nextStatus: ImportExportTaskStatus;\n }\n ): Promise<ImportExportTask>;\n deleteTask(id: string): Promise<ImportExportTask>;\n getSubTask(id: string, subtaskId: string): Promise<ImportExportTask | null>;\n listSubTasks(\n id: string,\n status: ImportExportTaskStatus,\n limit: number\n ): Promise<ImportExportTask[]>;\n createSubTask(\n id: string,\n subTaskId: string,\n data: Partial<ImportExportTaskCreateData>\n ): Promise<ImportExportTask>;\n updateSubTask(\n id: string,\n subTaskId: string,\n data: Partial<ImportExportTaskCreateData>\n ): Promise<ImportExportTask>;\n};\n\nexport interface PbImportExportContext extends PbContext {\n pageBuilder: PbContext[\"pageBuilder\"] & {\n pages: PagesImportExportCrud;\n blocks: BlocksImportExportCrud;\n templates: TemplatesImportExportCrud;\n importExportTask: ImportExportTaskCrud;\n };\n formBuilder: FormBuilderContext[\"formBuilder\"] & {\n forms: FormsImportExportCrud;\n };\n}\n\nexport interface ImportExportPluginsParams {\n storageOperations: ImportExportTaskStorageOperations;\n}\n"],"mappings":""}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.INSTALL_EXTRACT_DIR = exports.INSTALL_DIR = exports.ASSETS_DIR_NAME = void 0;
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
9
|
+
const INSTALL_DIR = "/tmp";
|
10
|
+
exports.INSTALL_DIR = INSTALL_DIR;
|
11
|
+
const INSTALL_EXTRACT_DIR = _path.default.join(INSTALL_DIR, "apiPageBuilderImport");
|
12
|
+
exports.INSTALL_EXTRACT_DIR = INSTALL_EXTRACT_DIR;
|
13
|
+
const ASSETS_DIR_NAME = "/assets";
|
14
|
+
exports.ASSETS_DIR_NAME = ASSETS_DIR_NAME;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["INSTALL_DIR","INSTALL_EXTRACT_DIR","path","join","ASSETS_DIR_NAME"],"sources":["constants.ts"],"sourcesContent":["import path from \"path\";\n\nexport const INSTALL_DIR = \"/tmp\";\nexport const INSTALL_EXTRACT_DIR = path.join(INSTALL_DIR, \"apiPageBuilderImport\");\nexport const ASSETS_DIR_NAME = \"/assets\";\n"],"mappings":";;;;;;;AAAA;AAEO,MAAMA,WAAW,GAAG,MAAM;AAAC;AAC3B,MAAMC,mBAAmB,GAAGC,aAAI,CAACC,IAAI,CAACH,WAAW,EAAE,sBAAsB,CAAC;AAAC;AAC3E,MAAMI,eAAe,GAAG,SAAS;AAAC"}
|
@@ -0,0 +1,101 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.blocksHandler = 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 blocksHandler = 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
|
+
} = payload;
|
25
|
+
try {
|
26
|
+
log("RUNNING Import Blocks Create");
|
27
|
+
if (!zipFileUrl) {
|
28
|
+
return {
|
29
|
+
data: null,
|
30
|
+
error: {
|
31
|
+
message: `Missing "zipFileUrl"!`
|
32
|
+
}
|
33
|
+
};
|
34
|
+
}
|
35
|
+
(0, _mockSecurity.mockSecurity)(identity, context);
|
36
|
+
// Step 1: Read the zip file
|
37
|
+
const blockImportDataList = await (0, _extractAndUploadZipFileContents.extractAndUploadZipFileContents)(zipFileUrl);
|
38
|
+
|
39
|
+
// For each block create a subtask and invoke the process handler
|
40
|
+
for (let i = 0; i < blockImportDataList.length; i++) {
|
41
|
+
const blocksDirMap = blockImportDataList[i];
|
42
|
+
// Create sub-task
|
43
|
+
const subtask = await pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
|
44
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
45
|
+
data: {
|
46
|
+
blockKey: blocksDirMap.key,
|
47
|
+
category,
|
48
|
+
zipFileUrl,
|
49
|
+
input: {
|
50
|
+
fileUploadsData: blocksDirMap
|
51
|
+
}
|
52
|
+
}
|
53
|
+
});
|
54
|
+
log(`Added SUB_TASK "${subtask.id}" to queue.`);
|
55
|
+
}
|
56
|
+
// Update main task status
|
57
|
+
await pageBuilder.importExportTask.updateTask(task.id, {
|
58
|
+
status: _types.ImportExportTaskStatus.PROCESSING,
|
59
|
+
stats: (0, _utils.initialStats)(blockImportDataList.length)
|
60
|
+
});
|
61
|
+
await (0, _client.invokeHandlerClient)({
|
62
|
+
context,
|
63
|
+
name: configuration.handlers.process,
|
64
|
+
payload: {
|
65
|
+
taskId: task.id,
|
66
|
+
// Execute "Process" for the first sub-task.
|
67
|
+
subTaskIndex: 1,
|
68
|
+
type,
|
69
|
+
identity: context.security.getIdentity()
|
70
|
+
},
|
71
|
+
description: "Import blocks - process - first"
|
72
|
+
});
|
73
|
+
} catch (e) {
|
74
|
+
log("[IMPORT_BLOCKS_CREATE] Error => ", e);
|
75
|
+
|
76
|
+
/**
|
77
|
+
* In case of error, we'll update the task status to "failed",
|
78
|
+
* so that, client can show notify the user appropriately.
|
79
|
+
*/
|
80
|
+
|
81
|
+
await pageBuilder.importExportTask.updateTask(task.id, {
|
82
|
+
status: _types.ImportExportTaskStatus.FAILED,
|
83
|
+
error: {
|
84
|
+
name: e.name,
|
85
|
+
message: e.message,
|
86
|
+
code: e.code || "EXPORT_FAILED"
|
87
|
+
}
|
88
|
+
});
|
89
|
+
return {
|
90
|
+
data: null,
|
91
|
+
error: {
|
92
|
+
message: e.message
|
93
|
+
}
|
94
|
+
};
|
95
|
+
}
|
96
|
+
return {
|
97
|
+
data: "",
|
98
|
+
error: null
|
99
|
+
};
|
100
|
+
};
|
101
|
+
exports.blocksHandler = blocksHandler;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["blocksHandler","configuration","payload","context","log","console","pageBuilder","task","type","category","zipFileUrl","identity","data","error","message","mockSecurity","blockImportDataList","extractAndUploadZipFileContents","i","length","blocksDirMap","subtask","importExportTask","createSubTask","id","zeroPad","status","ImportExportTaskStatus","PENDING","blockKey","key","input","fileUploadsData","updateTask","PROCESSING","stats","initialStats","invokeHandlerClient","name","handlers","process","taskId","subTaskIndex","security","getIdentity","description","e","FAILED","code"],"sources":["blocksHandler.ts"],"sourcesContent":["import { ImportExportTaskStatus, PbImportExportContext } from \"~/types\";\nimport { initialStats } from \"~/import/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as ProcessPayload } from \"../process\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { Configuration, Payload, Response } from \"~/import/create\";\nimport { extractAndUploadZipFileContents } from \"~/import/utils/extractAndUploadZipFileContents\";\n\nexport const blocksHandler = 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 } = payload;\n try {\n log(\"RUNNING Import Blocks 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 blockImportDataList = await extractAndUploadZipFileContents(zipFileUrl);\n\n // For each block create a subtask and invoke the process handler\n for (let i = 0; i < blockImportDataList.length; i++) {\n const blocksDirMap = blockImportDataList[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 blockKey: blocksDirMap.key,\n category,\n zipFileUrl,\n input: {\n fileUploadsData: blocksDirMap\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(blockImportDataList.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 blocks - process - first\"\n });\n } catch (e) {\n log(\"[IMPORT_BLOCKS_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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"}
|
@@ -0,0 +1,103 @@
|
|
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;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["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"],"sources":["formsHandler.ts"],"sourcesContent":["import { ImportExportTaskStatus, PbImportExportContext } from \"~/types\";\nimport { initialStats } from \"~/import/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as ProcessPayload } from \"../process\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { 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":"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"}
|
@@ -1,15 +1,17 @@
|
|
1
|
-
import {
|
1
|
+
import { ImportExportTask, PbImportExportContext } from "../../types";
|
2
2
|
import { SecurityIdentity } from "@webiny/api-security/types";
|
3
|
-
interface Configuration {
|
3
|
+
export interface Configuration {
|
4
4
|
handlers: {
|
5
5
|
process: string;
|
6
6
|
};
|
7
7
|
}
|
8
8
|
export interface Payload {
|
9
|
-
category
|
9
|
+
category?: string;
|
10
10
|
zipFileUrl: string;
|
11
|
-
task:
|
11
|
+
task: ImportExportTask;
|
12
|
+
type: string;
|
12
13
|
identity: SecurityIdentity;
|
14
|
+
meta?: Record<string, any>;
|
13
15
|
}
|
14
16
|
export interface Response {
|
15
17
|
data: string | null;
|
@@ -18,5 +20,5 @@ export interface Response {
|
|
18
20
|
/**
|
19
21
|
* Handles the import page workflow.
|
20
22
|
*/
|
21
|
-
declare const _default: (configuration: Configuration) => import("@webiny/handler-aws").RawEventHandler<Payload,
|
23
|
+
declare const _default: (configuration: Configuration) => import("@webiny/handler-aws").RawEventHandler<Payload, PbImportExportContext, Response>;
|
22
24
|
export default _default;
|