@webiny/api-page-builder-import-export 0.0.0-mt-3 → 0.0.0-unstable.2af142b57e

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.
Files changed (122) hide show
  1. package/client.d.ts +8 -0
  2. package/client.js +43 -0
  3. package/client.js.map +1 -0
  4. package/export/combine/blocksHandler.d.ts +6 -0
  5. package/export/combine/blocksHandler.js +99 -0
  6. package/export/combine/blocksHandler.js.map +1 -0
  7. package/export/combine/index.d.ts +16 -0
  8. package/export/combine/index.js +35 -0
  9. package/export/combine/index.js.map +1 -0
  10. package/export/combine/pagesHandler.d.ts +6 -0
  11. package/export/combine/pagesHandler.js +99 -0
  12. package/export/combine/pagesHandler.js.map +1 -0
  13. package/export/combine/templatesHandler.d.ts +6 -0
  14. package/export/combine/templatesHandler.js +99 -0
  15. package/export/combine/templatesHandler.js.map +1 -0
  16. package/export/process/blocksHandler.d.ts +6 -0
  17. package/export/process/blocksHandler.js +162 -0
  18. package/export/process/blocksHandler.js.map +1 -0
  19. package/export/process/index.d.ts +20 -0
  20. package/export/process/index.js +32 -0
  21. package/export/process/index.js.map +1 -0
  22. package/export/process/pagesHandler.d.ts +6 -0
  23. package/export/process/pagesHandler.js +189 -0
  24. package/export/process/pagesHandler.js.map +1 -0
  25. package/export/process/templatesHandler.d.ts +6 -0
  26. package/export/process/templatesHandler.js +166 -0
  27. package/export/process/templatesHandler.js.map +1 -0
  28. package/{exportPages → export}/s3Stream.d.ts +2 -0
  29. package/{exportPages → export}/s3Stream.js +12 -24
  30. package/export/s3Stream.js.map +1 -0
  31. package/export/utils.d.ts +22 -0
  32. package/export/utils.js +160 -0
  33. package/export/utils.js.map +1 -0
  34. package/{exportPages → export}/zipper.d.ts +7 -5
  35. package/{exportPages → export}/zipper.js +39 -52
  36. package/export/zipper.js.map +1 -0
  37. package/graphql/crud/blocks.crud.d.ts +4 -0
  38. package/graphql/crud/blocks.crud.js +137 -0
  39. package/graphql/crud/blocks.crud.js.map +1 -0
  40. package/graphql/crud/importExportTasks.crud.d.ts +5 -0
  41. package/graphql/crud/{pageImportExportTasks.crud.js → importExportTasks.crud.js} +87 -118
  42. package/graphql/crud/importExportTasks.crud.js.map +1 -0
  43. package/graphql/crud/pages.crud.d.ts +3 -3
  44. package/graphql/crud/pages.crud.js +64 -70
  45. package/graphql/crud/pages.crud.js.map +1 -0
  46. package/graphql/crud/templates.crud.d.ts +4 -0
  47. package/graphql/crud/templates.crud.js +124 -0
  48. package/graphql/crud/templates.crud.js.map +1 -0
  49. package/graphql/crud.d.ts +2 -2
  50. package/graphql/crud.js +5 -8
  51. package/graphql/crud.js.map +1 -0
  52. package/graphql/graphql/blocks.gql.d.ts +4 -0
  53. package/graphql/graphql/blocks.gql.js +52 -0
  54. package/graphql/graphql/blocks.gql.js.map +1 -0
  55. package/graphql/graphql/importExportTasks.gql.d.ts +4 -0
  56. package/graphql/graphql/{pageImportExportTasks.gql.js → importExportTasks.gql.js} +19 -24
  57. package/graphql/graphql/importExportTasks.gql.js.map +1 -0
  58. package/graphql/graphql/pages.gql.d.ts +2 -2
  59. package/graphql/graphql/pages.gql.js +5 -14
  60. package/graphql/graphql/pages.gql.js.map +1 -0
  61. package/graphql/graphql/templates.gql.d.ts +4 -0
  62. package/graphql/graphql/templates.gql.js +52 -0
  63. package/graphql/graphql/templates.gql.js.map +1 -0
  64. package/graphql/graphql/utils/resolve.d.ts +1 -1
  65. package/graphql/graphql/utils/resolve.js +0 -3
  66. package/graphql/graphql/utils/resolve.js.map +1 -0
  67. package/graphql/graphql.d.ts +1 -1
  68. package/graphql/graphql.js +5 -7
  69. package/graphql/graphql.js.map +1 -0
  70. package/graphql/index.d.ts +2 -2
  71. package/graphql/index.js +1 -6
  72. package/graphql/index.js.map +1 -0
  73. package/graphql/types.d.ts +63 -27
  74. package/graphql/types.js.map +1 -0
  75. package/import/create/blocksHandler.d.ts +3 -0
  76. package/import/create/blocksHandler.js +100 -0
  77. package/import/create/blocksHandler.js.map +1 -0
  78. package/import/create/index.d.ts +24 -0
  79. package/import/create/index.js +35 -0
  80. package/import/create/index.js.map +1 -0
  81. package/import/create/pagesHandler.d.ts +3 -0
  82. package/import/create/pagesHandler.js +102 -0
  83. package/import/create/pagesHandler.js.map +1 -0
  84. package/import/create/templatesHandler.d.ts +3 -0
  85. package/import/create/templatesHandler.js +98 -0
  86. package/import/create/templatesHandler.js.map +1 -0
  87. package/import/process/blocksHandler.d.ts +3 -0
  88. package/import/process/blocksHandler.js +169 -0
  89. package/import/process/blocksHandler.js.map +1 -0
  90. package/import/process/index.d.ts +20 -0
  91. package/import/process/index.js +32 -0
  92. package/import/process/index.js.map +1 -0
  93. package/import/process/pagesHandler.d.ts +3 -0
  94. package/import/process/pagesHandler.js +177 -0
  95. package/import/process/pagesHandler.js.map +1 -0
  96. package/import/process/templatesHandler.d.ts +3 -0
  97. package/import/process/templatesHandler.js +169 -0
  98. package/import/process/templatesHandler.js.map +1 -0
  99. package/import/utils.d.ts +56 -0
  100. package/{importPages → import}/utils.js +262 -194
  101. package/import/utils.js.map +1 -0
  102. package/mockSecurity.js +0 -2
  103. package/mockSecurity.js.map +1 -0
  104. package/package.json +36 -34
  105. package/types.d.ts +70 -72
  106. package/types.js +17 -22
  107. package/types.js.map +1 -0
  108. package/exportPages/combine/index.d.ts +0 -19
  109. package/exportPages/combine/index.js +0 -88
  110. package/exportPages/process/index.d.ts +0 -26
  111. package/exportPages/process/index.js +0 -204
  112. package/exportPages/utils.d.ts +0 -13
  113. package/exportPages/utils.js +0 -113
  114. package/graphql/crud/pageImportExportTasks.crud.d.ts +0 -5
  115. package/graphql/graphql/pageImportExportTasks.gql.d.ts +0 -4
  116. package/importPages/client.d.ts +0 -7
  117. package/importPages/client.js +0 -40
  118. package/importPages/create/index.d.ts +0 -27
  119. package/importPages/create/index.js +0 -109
  120. package/importPages/process/index.d.ts +0 -25
  121. package/importPages/process/index.js +0 -183
  122. package/importPages/utils.d.ts +0 -43
@@ -1,22 +1,17 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _resolve = _interopRequireDefault(require("./utils/resolve"));
11
-
12
9
  const plugin = {
13
10
  type: "graphql-schema",
14
11
  schema: {
15
- typeDefs:
16
- /* GraphQL */
17
- `
12
+ typeDefs: /* GraphQL */`
18
13
  type PbExportPageData {
19
- task: PbPageImportExportTask
14
+ task: PbImportExportTask
20
15
  }
21
16
 
22
17
  type PbExportPageResponse {
@@ -25,7 +20,7 @@ const plugin = {
25
20
  }
26
21
 
27
22
  type PbImportPageData {
28
- task: PbPageImportExportTask
23
+ task: PbImportExportTask
29
24
  }
30
25
 
31
26
  type PbImportPageResponse {
@@ -49,11 +44,7 @@ const plugin = {
49
44
  ): PbExportPageResponse
50
45
 
51
46
  # Import pages
52
- importPages(
53
- category: String!
54
- zipFileKey: String
55
- zipFileUrl: String
56
- ): PbImportPageResponse
47
+ importPages(category: String!, zipFileUrl: String, meta: JSON): PbImportPageResponse
57
48
  }
58
49
  `,
59
50
  resolvers: {
@@ -0,0 +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 { 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,4 @@
1
+ import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/types";
2
+ import { PbImportExportContext } from "../types";
3
+ declare const plugin: GraphQLSchemaPlugin<PbImportExportContext>;
4
+ export default plugin;
@@ -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"}
@@ -1,3 +1,3 @@
1
1
  import { Response, ErrorResponse } from "@webiny/handler-graphql";
2
- declare const _default: (fn: any) => Promise<ErrorResponse | Response<any>>;
2
+ declare const _default: (fn: () => Promise<any>) => Promise<ErrorResponse | Response<any>>;
3
3
  export default _default;
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _handlerGraphql = require("@webiny/handler-graphql");
9
-
10
8
  var _default = async fn => {
11
9
  try {
12
10
  return new _handlerGraphql.Response(await fn());
@@ -14,5 +12,4 @@ var _default = async fn => {
14
12
  return new _handlerGraphql.ErrorResponse(e);
15
13
  }
16
14
  };
17
-
18
15
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["fn","Response","e","ErrorResponse"],"sources":["resolve.ts"],"sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql\";\n\nexport default async (fn: () => Promise<any>) => {\n try {\n return new Response(await fn());\n } catch (e) {\n return new ErrorResponse(e);\n }\n};\n"],"mappings":";;;;;;AAAA;AAAkE,eAEnD,MAAOA,EAAsB,IAAK;EAC7C,IAAI;IACA,OAAO,IAAIC,wBAAQ,CAAC,MAAMD,EAAE,EAAE,CAAC;EACnC,CAAC,CAAC,OAAOE,CAAC,EAAE;IACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;EAC/B;AACJ,CAAC;AAAA"}
@@ -1,3 +1,3 @@
1
1
  import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/types";
2
- declare const _default: GraphQLSchemaPlugin<import("@webiny/handler/types").ContextInterface>[];
2
+ declare const _default: GraphQLSchemaPlugin<import("@webiny/api/types").Context>[];
3
3
  export default _default;
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
8
+ var _blocks = _interopRequireDefault(require("./graphql/blocks.gql"));
10
9
  var _pages = _interopRequireDefault(require("./graphql/pages.gql"));
11
-
12
- var _pageImportExportTasks = _interopRequireDefault(require("./graphql/pageImportExportTasks.gql"));
13
-
14
- var _default = [_pages.default, _pageImportExportTasks.default];
10
+ var _templates = _interopRequireDefault(require("./graphql/templates.gql"));
11
+ var _importExportTasks = _interopRequireDefault(require("./graphql/importExportTasks.gql"));
12
+ var _default = [_blocks.default, _pages.default, _templates.default, _importExportTasks.default];
15
13
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["blocks","pages","templates","importExportTask"],"sources":["graphql.ts"],"sourcesContent":["import blocks from \"./graphql/blocks.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, pages, templates, importExportTask] as GraphQLSchemaPlugin[];\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AAA+D,eAGhD,CAACA,eAAM,EAAEC,cAAK,EAAEC,kBAAS,EAAEC,0BAAgB,CAAC;AAAA"}
@@ -1,3 +1,3 @@
1
- import { PageImportExportPluginsParams } from "./types";
2
- declare const _default: (params: PageImportExportPluginsParams) => (import("@webiny/handler/plugins/ContextPlugin").ContextPlugin<import("./types").PbPageImportExportContext>[] | import("@webiny/handler-graphql/types").GraphQLSchemaPlugin<import("@webiny/handler/types").ContextInterface>[])[];
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 CHANGED
@@ -1,16 +1,11 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _crud = _interopRequireDefault(require("./crud"));
11
-
12
9
  var _graphql = _interopRequireDefault(require("./graphql"));
13
-
14
10
  var _default = params => [(0, _crud.default)(params), _graphql.default];
15
-
16
11
  exports.default = _default;
@@ -0,0 +1 @@
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"}
@@ -1,8 +1,8 @@
1
- import { PagesCrud, PbContext } from "@webiny/api-page-builder/types";
2
- import { PageExportRevisionType, PageImportExportTask, PageImportExportTaskStatus, PageImportExportTaskStorageOperations, PageImportExportTaskStorageOperationsListParams } from "../types";
1
+ import { PbContext } from "@webiny/api-page-builder/types";
2
+ import { ExportRevisionType, ImportExportTask, ImportExportTaskStatus, ImportExportTaskStorageOperations, ImportExportTaskStorageOperationsListParams } from "../types";
3
3
  export interface ExportPagesParams {
4
4
  ids?: string[];
5
- revisionType: PageExportRevisionType;
5
+ revisionType: ExportRevisionType;
6
6
  where?: {
7
7
  category?: string;
8
8
  status?: string;
@@ -19,45 +19,81 @@ export interface ExportPagesParams {
19
19
  }
20
20
  export interface ImportPagesParams {
21
21
  category: string;
22
- zipFileKey?: string;
23
- zipFileUrl?: string;
22
+ zipFileUrl: string;
23
+ meta?: Record<string, any>;
24
24
  }
25
25
  export declare type PagesImportExportCrud = {
26
26
  exportPages(params: ExportPagesParams): Promise<{
27
- task: PageImportExportTask;
27
+ task: ImportExportTask;
28
28
  }>;
29
29
  importPages(params: ImportPagesParams): Promise<{
30
- task: PageImportExportTask;
30
+ task: ImportExportTask;
31
31
  }>;
32
32
  };
33
- declare type PageImportExportTaskCreateData = Omit<PageImportExportTask, "id" | "createdOn" | "createdBy">;
34
- export declare type PageImportExportTaskCrud = {
33
+ export interface ExportBlocksParams {
34
+ ids?: string[];
35
+ sort?: string[];
36
+ where?: {
37
+ blockCategory?: string;
38
+ };
39
+ }
40
+ export interface ImportBlocksParams {
41
+ category: string;
42
+ zipFileUrl: string;
43
+ }
44
+ export declare type BlocksImportExportCrud = {
45
+ exportBlocks(params: ExportBlocksParams): Promise<{
46
+ task: ImportExportTask;
47
+ }>;
48
+ importBlocks(params: ImportBlocksParams): Promise<{
49
+ task: ImportExportTask;
50
+ }>;
51
+ };
52
+ export interface ExportTemplatesParams {
53
+ ids?: string[];
54
+ sort?: string[];
55
+ }
56
+ export interface ImportTemplatesParams {
57
+ zipFileUrl: string;
58
+ }
59
+ export declare type TemplatesImportExportCrud = {
60
+ exportTemplates(params: ExportTemplatesParams): Promise<{
61
+ task: ImportExportTask;
62
+ }>;
63
+ importTemplates(params: ImportTemplatesParams): Promise<{
64
+ task: ImportExportTask;
65
+ }>;
66
+ };
67
+ declare type ImportExportTaskCreateData = Omit<ImportExportTask, "id" | "createdOn" | "createdBy">;
68
+ export declare type ImportExportTaskCrud = {
35
69
  /**
36
70
  * To be used internally in our code.
37
71
  * @internal
38
72
  */
39
- storageOperations: PageImportExportTaskStorageOperations;
40
- getTask(id: string): Promise<PageImportExportTask>;
41
- listTasks(params?: PageImportExportTaskStorageOperationsListParams): Promise<PageImportExportTask[]>;
42
- createTask(data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;
43
- updateTask(id: string, data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;
73
+ storageOperations: ImportExportTaskStorageOperations;
74
+ getTask(id: string): Promise<ImportExportTask | null>;
75
+ listTasks(params?: ImportExportTaskStorageOperationsListParams): Promise<ImportExportTask[]>;
76
+ createTask(data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
77
+ updateTask(id: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
44
78
  updateStats(id: string, data: {
45
- prevStatus: PageImportExportTaskStatus;
46
- nextStatus: PageImportExportTaskStatus;
47
- }): Promise<PageImportExportTask>;
48
- deleteTask(id: string): Promise<PageImportExportTask>;
49
- getSubTask(id: string, subtaskId: string): Promise<PageImportExportTask>;
50
- listSubTasks(id: string, status: PageImportExportTaskStatus, limit: number): Promise<PageImportExportTask[]>;
51
- createSubTask(id: string, subTaskId: string, data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;
52
- updateSubTask(id: string, subTaskId: string, data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;
79
+ prevStatus: ImportExportTaskStatus;
80
+ nextStatus: ImportExportTaskStatus;
81
+ }): Promise<ImportExportTask>;
82
+ deleteTask(id: string): Promise<ImportExportTask>;
83
+ getSubTask(id: string, subtaskId: string): Promise<ImportExportTask | null>;
84
+ listSubTasks(id: string, status: ImportExportTaskStatus, limit: number): Promise<ImportExportTask[]>;
85
+ createSubTask(id: string, subTaskId: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
86
+ updateSubTask(id: string, subTaskId: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
53
87
  };
54
- export interface PbPageImportExportContext extends PbContext {
88
+ export interface PbImportExportContext extends PbContext {
55
89
  pageBuilder: PbContext["pageBuilder"] & {
56
- pages: PagesCrud & PagesImportExportCrud;
57
- pageImportExportTask: PageImportExportTaskCrud;
90
+ pages: PagesImportExportCrud;
91
+ blocks: BlocksImportExportCrud;
92
+ templates: TemplatesImportExportCrud;
93
+ importExportTask: ImportExportTaskCrud;
58
94
  };
59
95
  }
60
- export interface PageImportExportPluginsParams {
61
- storageOperations: PageImportExportTaskStorageOperations;
96
+ export interface ImportExportPluginsParams {
97
+ storageOperations: ImportExportTaskStorageOperations;
62
98
  }
63
99
  export {};
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { PbContext } from \"@webiny/api-page-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\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}\n\nexport interface ImportExportPluginsParams {\n storageOperations: ImportExportTaskStorageOperations;\n}\n"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { PbImportExportContext } from "../../types";
2
+ import { Configuration, Payload, Response } from ".";
3
+ export declare const blocksHandler: (configuration: Configuration, payload: Payload, context: PbImportExportContext) => Promise<Response>;
@@ -0,0 +1,100 @@
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
+ const blocksHandler = async (configuration, payload, context) => {
13
+ const log = console.log;
14
+ const {
15
+ pageBuilder
16
+ } = context;
17
+ const {
18
+ task,
19
+ type,
20
+ category,
21
+ zipFileUrl,
22
+ identity
23
+ } = payload;
24
+ try {
25
+ log("RUNNING Import Blocks Create");
26
+ if (!zipFileUrl) {
27
+ return {
28
+ data: null,
29
+ error: {
30
+ message: `Missing "zipFileUrl"!`
31
+ }
32
+ };
33
+ }
34
+ (0, _mockSecurity.mockSecurity)(identity, context);
35
+ // Step 1: Read the zip file
36
+ const blockImportDataList = await (0, _utils.readExtractAndUploadZipFileContents)(zipFileUrl);
37
+
38
+ // For each block create a subtask and invoke the process handler
39
+ for (let i = 0; i < blockImportDataList.length; i++) {
40
+ const blocksDirMap = blockImportDataList[i];
41
+ // Create sub task
42
+ const subtask = await pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
43
+ status: _types.ImportExportTaskStatus.PENDING,
44
+ data: {
45
+ blockKey: blocksDirMap.key,
46
+ category,
47
+ zipFileUrl,
48
+ input: {
49
+ fileUploadsData: blocksDirMap
50
+ }
51
+ }
52
+ });
53
+ log(`Added SUB_TASK "${subtask.id}" to queue.`);
54
+ }
55
+ // Update main task status
56
+ await pageBuilder.importExportTask.updateTask(task.id, {
57
+ status: _types.ImportExportTaskStatus.PROCESSING,
58
+ stats: (0, _utils.initialStats)(blockImportDataList.length)
59
+ });
60
+ await (0, _client.invokeHandlerClient)({
61
+ context,
62
+ name: configuration.handlers.process,
63
+ payload: {
64
+ taskId: task.id,
65
+ // Execute "Process" for the first sub task.
66
+ subTaskIndex: 1,
67
+ type,
68
+ identity: context.security.getIdentity()
69
+ },
70
+ description: "Import blocks - process - first"
71
+ });
72
+ } catch (e) {
73
+ log("[IMPORT_BLOCKS_CREATE] Error => ", e);
74
+
75
+ /**
76
+ * In case of error, we'll update the task status to "failed",
77
+ * so that, client can show notify the user appropriately.
78
+ */
79
+
80
+ await pageBuilder.importExportTask.updateTask(task.id, {
81
+ status: _types.ImportExportTaskStatus.FAILED,
82
+ error: {
83
+ name: e.name,
84
+ message: e.message,
85
+ code: e.code || "EXPORT_FAILED"
86
+ }
87
+ });
88
+ return {
89
+ data: null,
90
+ error: {
91
+ message: e.message
92
+ }
93
+ };
94
+ }
95
+ return {
96
+ data: "",
97
+ error: null
98
+ };
99
+ };
100
+ 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","readExtractAndUploadZipFileContents","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, readExtractAndUploadZipFileContents } 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\";\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 readExtractAndUploadZipFileContents(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,24 @@
1
+ import { ImportExportTask, PbImportExportContext } from "../../types";
2
+ import { SecurityIdentity } from "@webiny/api-security/types";
3
+ export interface Configuration {
4
+ handlers: {
5
+ process: string;
6
+ };
7
+ }
8
+ export interface Payload {
9
+ category?: string;
10
+ zipFileUrl: string;
11
+ task: ImportExportTask;
12
+ type: string;
13
+ identity: SecurityIdentity;
14
+ meta?: Record<string, any>;
15
+ }
16
+ export interface Response {
17
+ data: string | null;
18
+ error: Partial<Error> | null;
19
+ }
20
+ /**
21
+ * Handles the import page workflow.
22
+ */
23
+ declare const _default: (configuration: Configuration) => import("@webiny/handler-aws").RawEventHandler<Payload, PbImportExportContext, Response>;
24
+ export default _default;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _handlerAws = require("@webiny/handler-aws");
8
+ var _blocksHandler = require("./blocksHandler");
9
+ var _pagesHandler = require("./pagesHandler");
10
+ var _templatesHandler = require("./templatesHandler");
11
+ /**
12
+ * Handles the import page workflow.
13
+ */
14
+ var _default = configuration => {
15
+ return (0, _handlerAws.createRawEventHandler)(async ({
16
+ payload,
17
+ context
18
+ }) => {
19
+ switch (payload.type) {
20
+ case "block":
21
+ {
22
+ return await (0, _blocksHandler.blocksHandler)(configuration, payload, context);
23
+ }
24
+ case "template":
25
+ {
26
+ return await (0, _templatesHandler.templatesHandler)(configuration, payload, context);
27
+ }
28
+ default:
29
+ {
30
+ return await (0, _pagesHandler.pagesHandler)(configuration, payload, context);
31
+ }
32
+ }
33
+ });
34
+ };
35
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["configuration","createRawEventHandler","payload","context","type","blocksHandler","templatesHandler","pagesHandler"],"sources":["index.ts"],"sourcesContent":["import { ImportExportTask, PbImportExportContext } from \"~/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createRawEventHandler } from \"@webiny/handler-aws\";\nimport { blocksHandler } from \"~/import/create/blocksHandler\";\nimport { pagesHandler } from \"~/import/create/pagesHandler\";\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 switch (payload.type) {\n case \"block\": {\n return await blocksHandler(configuration, payload, context);\n }\n case \"template\": {\n return await templatesHandler(configuration, payload, context);\n }\n default: {\n return await pagesHandler(configuration, payload, context);\n }\n }\n }\n );\n};\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AAqBA;AACA;AACA;AAFA,eAGgBA,aAA4B,IAAK;EAC7C,OAAO,IAAAC,iCAAqB,EACxB,OAAO;IAAEC,OAAO;IAAEC;EAAQ,CAAC,KAAK;IAC5B,QAAQD,OAAO,CAACE,IAAI;MAChB,KAAK,OAAO;QAAE;UACV,OAAO,MAAM,IAAAC,4BAAa,EAACL,aAAa,EAAEE,OAAO,EAAEC,OAAO,CAAC;QAC/D;MACA,KAAK,UAAU;QAAE;UACb,OAAO,MAAM,IAAAG,kCAAgB,EAACN,aAAa,EAAEE,OAAO,EAAEC,OAAO,CAAC;QAClE;MACA;QAAS;UACL,OAAO,MAAM,IAAAI,0BAAY,EAACP,aAAa,EAAEE,OAAO,EAAEC,OAAO,CAAC;QAC9D;IAAC;EAET,CAAC,CACJ;AACL,CAAC;AAAA"}
@@ -0,0 +1,3 @@
1
+ import { PbImportExportContext } from "../../types";
2
+ import { Configuration, Payload, Response } from ".";
3
+ export declare const pagesHandler: (configuration: Configuration, payload: Payload, context: PbImportExportContext) => Promise<Response>;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.pagesHandler = void 0;
7
+ var _types = require("../../types");
8
+ var _utils = require("../utils");
9
+ var _client = require("../../client");
10
+ var _mockSecurity = require("../../mockSecurity");
11
+ var _utils2 = require("@webiny/utils");
12
+ const pagesHandler = async (configuration, payload, context) => {
13
+ const log = console.log;
14
+ const {
15
+ pageBuilder
16
+ } = context;
17
+ const {
18
+ task,
19
+ type,
20
+ category,
21
+ zipFileUrl,
22
+ identity,
23
+ meta
24
+ } = payload;
25
+ try {
26
+ log("RUNNING Import Pages 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 pageImportDataList = await (0, _utils.readExtractAndUploadZipFileContents)(zipFileUrl);
38
+
39
+ // For each page create a subtask and invoke the process handler
40
+ for (let i = 0; i < pageImportDataList.length; i++) {
41
+ const pagesDirMap = pageImportDataList[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
+ pageKey: pagesDirMap.key,
47
+ category,
48
+ zipFileUrl,
49
+ meta,
50
+ input: {
51
+ fileUploadsData: pagesDirMap
52
+ }
53
+ }
54
+ });
55
+ log(`Added SUB_TASK "${subtask.id}" to queue.`);
56
+ }
57
+ // Update main task status
58
+ await pageBuilder.importExportTask.updateTask(task.id, {
59
+ status: _types.ImportExportTaskStatus.PROCESSING,
60
+ stats: (0, _utils.initialStats)(pageImportDataList.length)
61
+ });
62
+ await (0, _client.invokeHandlerClient)({
63
+ context,
64
+ name: configuration.handlers.process,
65
+ payload: {
66
+ taskId: task.id,
67
+ // Execute "Process" for the first sub task.
68
+ subTaskIndex: 1,
69
+ type,
70
+ identity: context.security.getIdentity()
71
+ },
72
+ description: "Import pages - process - first"
73
+ });
74
+ } catch (e) {
75
+ log("[IMPORT_PAGES_CREATE] Error => ", e);
76
+
77
+ /**
78
+ * In case of error, we'll update the task status to "failed",
79
+ * so that, client can show notify the user appropriately.
80
+ */
81
+
82
+ await pageBuilder.importExportTask.updateTask(task.id, {
83
+ status: _types.ImportExportTaskStatus.FAILED,
84
+ error: {
85
+ name: e.name,
86
+ message: e.message,
87
+ code: e.code || "EXPORT_FAILED"
88
+ }
89
+ });
90
+ return {
91
+ data: null,
92
+ error: {
93
+ message: e.message
94
+ }
95
+ };
96
+ }
97
+ return {
98
+ data: "",
99
+ error: null
100
+ };
101
+ };
102
+ exports.pagesHandler = pagesHandler;