@webiny/api-page-builder-import-export 0.0.0-unstable.97a151f74d → 0.0.0-unstable.aad28a72ae

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 (98) hide show
  1. package/client.d.ts +2 -2
  2. package/client.js.map +1 -1
  3. package/export/combine/blocksHandler.d.ts +6 -0
  4. package/export/combine/blocksHandler.js +106 -0
  5. package/export/combine/blocksHandler.js.map +1 -0
  6. package/{exportPages → export}/combine/index.d.ts +3 -2
  7. package/export/combine/index.js +30 -0
  8. package/export/combine/index.js.map +1 -0
  9. package/export/combine/pagesHandler.d.ts +6 -0
  10. package/export/combine/pagesHandler.js +106 -0
  11. package/export/combine/pagesHandler.js.map +1 -0
  12. package/export/process/blocksHandler.d.ts +6 -0
  13. package/export/process/blocksHandler.js +176 -0
  14. package/export/process/blocksHandler.js.map +1 -0
  15. package/{exportPages → export}/process/index.d.ts +4 -6
  16. package/export/process/index.js +27 -0
  17. package/export/process/index.js.map +1 -0
  18. package/export/process/pagesHandler.d.ts +6 -0
  19. package/export/process/pagesHandler.js +204 -0
  20. package/export/process/pagesHandler.js.map +1 -0
  21. package/{exportPages → export}/s3Stream.d.ts +0 -0
  22. package/{exportPages → export}/s3Stream.js +0 -0
  23. package/{exportPages → export}/s3Stream.js.map +0 -0
  24. package/export/utils.d.ts +16 -0
  25. package/export/utils.js +135 -0
  26. package/export/utils.js.map +1 -0
  27. package/{exportPages → export}/zipper.d.ts +6 -5
  28. package/{exportPages → export}/zipper.js +8 -7
  29. package/export/zipper.js.map +1 -0
  30. package/graphql/crud/blocks.crud.d.ts +4 -0
  31. package/graphql/crud/blocks.crud.js +155 -0
  32. package/graphql/crud/blocks.crud.js.map +1 -0
  33. package/graphql/crud/importExportTasks.crud.d.ts +5 -0
  34. package/graphql/crud/{pageImportExportTasks.crud.js → importExportTasks.crud.js} +48 -48
  35. package/graphql/crud/importExportTasks.crud.js.map +1 -0
  36. package/graphql/crud/pages.crud.d.ts +2 -2
  37. package/graphql/crud/pages.crud.js +14 -12
  38. package/graphql/crud/pages.crud.js.map +1 -1
  39. package/graphql/crud.d.ts +2 -2
  40. package/graphql/crud.js +4 -2
  41. package/graphql/crud.js.map +1 -1
  42. package/graphql/graphql/blocks.gql.d.ts +4 -0
  43. package/graphql/graphql/blocks.gql.js +57 -0
  44. package/graphql/graphql/blocks.gql.js.map +1 -0
  45. package/graphql/graphql/importExportTasks.gql.d.ts +4 -0
  46. package/graphql/graphql/{pageImportExportTasks.gql.js → importExportTasks.gql.js} +17 -17
  47. package/graphql/graphql/importExportTasks.gql.js.map +1 -0
  48. package/graphql/graphql/pages.gql.d.ts +2 -2
  49. package/graphql/graphql/pages.gql.js +2 -8
  50. package/graphql/graphql/pages.gql.js.map +1 -1
  51. package/graphql/graphql.js +4 -2
  52. package/graphql/graphql.js.map +1 -1
  53. package/graphql/index.d.ts +2 -2
  54. package/graphql/index.js.map +1 -1
  55. package/graphql/types.d.ts +43 -23
  56. package/graphql/types.js.map +1 -1
  57. package/import/create/blocksHandler.d.ts +3 -0
  58. package/import/create/blocksHandler.js +110 -0
  59. package/import/create/blocksHandler.js.map +1 -0
  60. package/{importPages → import}/create/index.d.ts +5 -4
  61. package/import/create/index.js +30 -0
  62. package/import/create/index.js.map +1 -0
  63. package/import/create/pagesHandler.d.ts +3 -0
  64. package/import/create/pagesHandler.js +110 -0
  65. package/import/create/pagesHandler.js.map +1 -0
  66. package/import/process/blocksHandler.d.ts +3 -0
  67. package/import/process/blocksHandler.js +175 -0
  68. package/import/process/blocksHandler.js.map +1 -0
  69. package/{importPages → import}/process/index.d.ts +4 -3
  70. package/import/process/index.js +27 -0
  71. package/import/process/index.js.map +1 -0
  72. package/import/process/pagesHandler.d.ts +3 -0
  73. package/import/process/pagesHandler.js +180 -0
  74. package/import/process/pagesHandler.js.map +1 -0
  75. package/{importPages → import}/utils.d.ts +19 -20
  76. package/{importPages → import}/utils.js +107 -36
  77. package/import/utils.js.map +1 -0
  78. package/package.json +22 -22
  79. package/types.d.ts +62 -65
  80. package/types.js +17 -17
  81. package/types.js.map +1 -1
  82. package/exportPages/combine/index.js +0 -114
  83. package/exportPages/combine/index.js.map +0 -1
  84. package/exportPages/process/index.js +0 -208
  85. package/exportPages/process/index.js.map +0 -1
  86. package/exportPages/utils.d.ts +0 -13
  87. package/exportPages/utils.js +0 -113
  88. package/exportPages/utils.js.map +0 -1
  89. package/exportPages/zipper.js.map +0 -1
  90. package/graphql/crud/pageImportExportTasks.crud.d.ts +0 -5
  91. package/graphql/crud/pageImportExportTasks.crud.js.map +0 -1
  92. package/graphql/graphql/pageImportExportTasks.gql.d.ts +0 -4
  93. package/graphql/graphql/pageImportExportTasks.gql.js.map +0 -1
  94. package/importPages/create/index.js +0 -118
  95. package/importPages/create/index.js.map +0 -1
  96. package/importPages/process/index.js +0 -185
  97. package/importPages/process/index.js.map +0 -1
  98. package/importPages/utils.js.map +0 -1
@@ -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;
@@ -15,14 +15,14 @@ const plugin = {
15
15
  typeDefs:
16
16
  /* GraphQL */
17
17
  `
18
- enum PbPageImportExportTaskStatus {
18
+ enum PbImportExportTaskStatus {
19
19
  pending
20
20
  processing
21
21
  completed
22
22
  failed
23
23
  }
24
24
 
25
- type PbPageImportExportTaskStats {
25
+ type PbImportExportTaskStats {
26
26
  pending: Int
27
27
  processing: Int
28
28
  completed: Int
@@ -30,46 +30,46 @@ const plugin = {
30
30
  total: Int
31
31
  }
32
32
 
33
- type PbPageImportExportTask {
33
+ type PbImportExportTask {
34
34
  id: ID
35
35
  createdOn: DateTime
36
36
  createdBy: PbCreatedBy
37
- status: PbPageImportExportTaskStatus
37
+ status: PbImportExportTaskStatus
38
38
  data: JSON
39
- stats: PbPageImportExportTaskStats
39
+ stats: PbImportExportTaskStats
40
40
  error: JSON
41
41
  }
42
42
 
43
43
  # Response types
44
- type PbPageImportExportTaskResponse {
45
- data: PbPageImportExportTask
44
+ type PbImportExportTaskResponse {
45
+ data: PbImportExportTask
46
46
  error: PbError
47
47
  }
48
48
 
49
- type PbPageImportExportTaskListResponse {
50
- data: [PbPageImportExportTask]
49
+ type PbImportExportTaskListResponse {
50
+ data: [PbImportExportTask]
51
51
  error: PbError
52
52
  }
53
53
 
54
54
  extend type PbQuery {
55
- getPageImportExportTask(id: ID!): PbPageImportExportTaskResponse
56
- listPageImportExportSubTask(
55
+ getImportExportTask(id: ID!): PbImportExportTaskResponse
56
+ listImportExportSubTask(
57
57
  id: ID!
58
- status: PbPageImportExportTaskStatus
58
+ status: PbImportExportTaskStatus
59
59
  limit: Int
60
- ): PbPageImportExportTaskListResponse
60
+ ): PbImportExportTaskListResponse
61
61
  }
62
62
  `,
63
63
  resolvers: {
64
64
  PbQuery: {
65
- getPageImportExportTask: async (_, args, context) => {
65
+ getImportExportTask: async (_, args, context) => {
66
66
  return (0, _resolve.default)(() => {
67
- return context.pageBuilder.pageImportExportTask.getTask(args.id);
67
+ return context.pageBuilder.importExportTask.getTask(args.id);
68
68
  });
69
69
  },
70
- listPageImportExportSubTask: async (_, args, context) => {
70
+ listImportExportSubTask: async (_, args, context) => {
71
71
  return (0, _resolve.default)(() => {
72
- return context.pageBuilder.pageImportExportTask.listSubTasks(args.id, args.status, args.limit);
72
+ return context.pageBuilder.importExportTask.listSubTasks(args.id, args.status, args.limit);
73
73
  });
74
74
  }
75
75
  }
@@ -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,gBADiD;EAEvDC,MAAM,EAAE;IACJC,QAAQ;IAAE;IAAe;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,SA9CY;IA+CJC,SAAS,EAAE;MACPC,OAAO,EAAE;QACLC,mBAAmB,EAAE,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;UAClD,OAAO,IAAAC,gBAAA,EAAQ,MAAM;YACjB,OAAOD,OAAO,CAACE,WAAR,CAAoBC,gBAApB,CAAqCC,OAArC,CAA6CL,IAAI,CAACM,EAAlD,CAAP;UACH,CAFM,CAAP;QAGH,CALI;QAMLC,uBAAuB,EAAE,OAAOR,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;UACtD,OAAO,IAAAC,gBAAA,EAAQ,MAAM;YACjB,OAAOD,OAAO,CAACE,WAAR,CAAoBC,gBAApB,CAAqCI,YAArC,CACHR,IAAI,CAACM,EADF,EAEHN,IAAI,CAACS,MAFF,EAGHT,IAAI,CAACU,KAHF,CAAP;UAKH,CANM,CAAP;QAOH;MAdI;IADF;EA/CP;AAF+C,CAA3D;eAqEelB,M"}
@@ -1,4 +1,4 @@
1
1
  import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/types";
2
- import { PbPageImportExportContext } from "../types";
3
- declare const plugin: GraphQLSchemaPlugin<PbPageImportExportContext>;
2
+ import { PbImportExportContext } from "../types";
3
+ declare const plugin: GraphQLSchemaPlugin<PbImportExportContext>;
4
4
  export default plugin;
@@ -16,7 +16,7 @@ const plugin = {
16
16
  /* GraphQL */
17
17
  `
18
18
  type PbExportPageData {
19
- task: PbPageImportExportTask
19
+ task: PbImportExportTask
20
20
  }
21
21
 
22
22
  type PbExportPageResponse {
@@ -25,7 +25,7 @@ const plugin = {
25
25
  }
26
26
 
27
27
  type PbImportPageData {
28
- task: PbPageImportExportTask
28
+ task: PbImportExportTask
29
29
  }
30
30
 
31
31
  type PbImportPageResponse {
@@ -55,15 +55,9 @@ const plugin = {
55
55
  resolvers: {
56
56
  PbMutation: {
57
57
  exportPages: async (_, args, context) => {
58
- /**
59
- * We know that args is ExportPagesParams.
60
- */
61
58
  return (0, _resolve.default)(() => context.pageBuilder.pages.exportPages(args));
62
59
  },
63
60
  importPages: async (_, args, context) => {
64
- /**
65
- * We know that args is ExportPagesParams.
66
- */
67
61
  return (0, _resolve.default)(() => context.pageBuilder.pages.importPages(args));
68
62
  }
69
63
  }
@@ -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 { ExportPagesParams, ImportPagesParams } from \"~/types\";\nimport { PbPageImportExportContext } from \"../types\";\nimport resolve from \"./utils/resolve\";\n\nconst plugin: GraphQLSchemaPlugin<PbPageImportExportContext> = {\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n type PbExportPageData {\n task: PbPageImportExportTask\n }\n\n type PbExportPageResponse {\n data: PbExportPageData\n error: PbError\n }\n\n type PbImportPageData {\n task: PbPageImportExportTask\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): PbImportPageResponse\n }\n `,\n resolvers: {\n PbMutation: {\n exportPages: async (_, args: any, context) => {\n /**\n * We know that args is ExportPagesParams.\n */\n return resolve(() =>\n context.pageBuilder.pages.exportPages(args as unknown as ExportPagesParams)\n );\n },\n\n importPages: async (_, args: any, context) => {\n /**\n * We know that args is ExportPagesParams.\n */\n return resolve(() =>\n context.pageBuilder.pages.importPages(args as unknown as ImportPagesParams)\n );\n }\n }\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;AAGA;;AAEA,MAAMA,MAAsD,GAAG;EAC3DC,IAAI,EAAE,gBADqD;EAE3DC,MAAM,EAAE;IACJC,QAAQ;IAAE;IAAe;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,SAtCY;IAuCJC,SAAS,EAAE;MACPC,UAAU,EAAE;QACRC,WAAW,EAAE,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;UAC1C;AACpB;AACA;UACoB,OAAO,IAAAC,gBAAA,EAAQ,MACXD,OAAO,CAACE,WAAR,CAAoBC,KAApB,CAA0BN,WAA1B,CAAsCE,IAAtC,CADG,CAAP;QAGH,CARO;QAURK,WAAW,EAAE,OAAON,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;UAC1C;AACpB;AACA;UACoB,OAAO,IAAAC,gBAAA,EAAQ,MACXD,OAAO,CAACE,WAAR,CAAoBC,KAApB,CAA0BC,WAA1B,CAAsCL,IAAtC,CADG,CAAP;QAGH;MAjBO;IADL;EAvCP;AAFmD,CAA/D;eAiEeR,M"}
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): 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,gBADiD;EAEvDC,MAAM,EAAE;IACJC,QAAQ;IAAE;IAAe;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,SAtCY;IAuCJC,SAAS,EAAE;MACPC,UAAU,EAAE;QACRC,WAAW,EAAE,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;UAC1C,OAAO,IAAAC,gBAAA,EAAQ,MAAMD,OAAO,CAACE,WAAR,CAAoBC,KAApB,CAA0BN,WAA1B,CAAsCE,IAAtC,CAAd,CAAP;QACH,CAHO;QAKRK,WAAW,EAAE,OAAON,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;UAC1C,OAAO,IAAAC,gBAAA,EAAQ,MAAMD,OAAO,CAACE,WAAR,CAAoBC,KAApB,CAA0BC,WAA1B,CAAsCL,IAAtC,CAAd,CAAP;QACH;MAPO;IADL;EAvCP;AAF+C,CAA3D;eAuDeR,M"}
@@ -7,9 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _blocks = _interopRequireDefault(require("./graphql/blocks.gql"));
11
+
10
12
  var _pages = _interopRequireDefault(require("./graphql/pages.gql"));
11
13
 
12
- var _pageImportExportTasks = _interopRequireDefault(require("./graphql/pageImportExportTasks.gql"));
14
+ var _importExportTasks = _interopRequireDefault(require("./graphql/importExportTasks.gql"));
13
15
 
14
- var _default = [_pages.default, _pageImportExportTasks.default];
16
+ var _default = [_blocks.default, _pages.default, _importExportTasks.default];
15
17
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["pages","pageImportExportTask"],"sources":["graphql.ts"],"sourcesContent":["import pages from \"./graphql/pages.gql\";\nimport pageImportExportTask from \"./graphql/pageImportExportTasks.gql\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\n\nexport default [pages, pageImportExportTask] as GraphQLSchemaPlugin[];\n"],"mappings":";;;;;;;;;AAAA;;AACA;;eAGe,CAACA,cAAD,EAAQC,8BAAR,C"}
1
+ {"version":3,"names":["blocks","pages","importExportTask"],"sources":["graphql.ts"],"sourcesContent":["import blocks from \"./graphql/blocks.gql\";\nimport pages from \"./graphql/pages.gql\";\nimport importExportTask from \"./graphql/importExportTasks.gql\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\n\nexport default [blocks, pages, importExportTask] as GraphQLSchemaPlugin[];\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;eAGe,CAACA,eAAD,EAASC,cAAT,EAAgBC,0BAAhB,C"}
@@ -1,3 +1,3 @@
1
- import { PageImportExportPluginsParams } from "./types";
2
- declare const _default: (params: PageImportExportPluginsParams) => (import("@webiny/api").ContextPlugin<import("~/graphql/types").PbPageImportExportContext>[] | import("@webiny/handler-graphql/types").GraphQLSchemaPlugin<import("@webiny/api/types").Context>[])[];
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;
@@ -1 +1 @@
1
- {"version":3,"names":["params","crud","graphql"],"sources":["index.ts"],"sourcesContent":["import crud from \"./crud\";\nimport graphql from \"./graphql\";\nimport { PageImportExportPluginsParams } from \"~/graphql/types\";\n\nexport default (params: PageImportExportPluginsParams) => [crud(params), graphql];\n"],"mappings":";;;;;;;;;AAAA;;AACA;;eAGgBA,MAAD,IAA2C,CAAC,IAAAC,aAAA,EAAKD,MAAL,CAAD,EAAeE,gBAAf,C"}
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;;eAGgBA,MAAD,IAAuC,CAAC,IAAAC,aAAA,EAAKD,MAAL,CAAD,EAAeE,gBAAf,C"}
@@ -1,8 +1,8 @@
1
1
  import { PbContext } from "@webiny/api-page-builder/types";
2
- import { PageExportRevisionType, PageImportExportTask, PageImportExportTaskStatus, PageImportExportTaskStorageOperations, PageImportExportTaskStorageOperationsListParams } from "../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;
@@ -23,40 +23,60 @@ export interface ImportPagesParams {
23
23
  }
24
24
  export declare type PagesImportExportCrud = {
25
25
  exportPages(params: ExportPagesParams): Promise<{
26
- task: PageImportExportTask;
26
+ task: ImportExportTask;
27
27
  }>;
28
28
  importPages(params: ImportPagesParams): Promise<{
29
- task: PageImportExportTask;
29
+ task: ImportExportTask;
30
30
  }>;
31
31
  };
32
- declare type PageImportExportTaskCreateData = Omit<PageImportExportTask, "id" | "createdOn" | "createdBy">;
33
- export declare type PageImportExportTaskCrud = {
32
+ export interface ExportBlocksParams {
33
+ ids?: string[];
34
+ sort?: string[];
35
+ where?: {
36
+ blockCategory?: string;
37
+ };
38
+ }
39
+ export interface ImportBlocksParams {
40
+ category: string;
41
+ zipFileUrl: string;
42
+ }
43
+ export declare type BlocksImportExportCrud = {
44
+ exportBlocks(params: ExportBlocksParams): Promise<{
45
+ task: ImportExportTask;
46
+ }>;
47
+ importBlocks(params: ImportBlocksParams): Promise<{
48
+ task: ImportExportTask;
49
+ }>;
50
+ };
51
+ declare type ImportExportTaskCreateData = Omit<ImportExportTask, "id" | "createdOn" | "createdBy">;
52
+ export declare type ImportExportTaskCrud = {
34
53
  /**
35
54
  * To be used internally in our code.
36
55
  * @internal
37
56
  */
38
- storageOperations: PageImportExportTaskStorageOperations;
39
- getTask(id: string): Promise<PageImportExportTask | null>;
40
- listTasks(params?: PageImportExportTaskStorageOperationsListParams): Promise<PageImportExportTask[]>;
41
- createTask(data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;
42
- updateTask(id: string, data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;
57
+ storageOperations: ImportExportTaskStorageOperations;
58
+ getTask(id: string): Promise<ImportExportTask | null>;
59
+ listTasks(params?: ImportExportTaskStorageOperationsListParams): Promise<ImportExportTask[]>;
60
+ createTask(data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
61
+ updateTask(id: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
43
62
  updateStats(id: string, data: {
44
- prevStatus: PageImportExportTaskStatus;
45
- nextStatus: PageImportExportTaskStatus;
46
- }): Promise<PageImportExportTask>;
47
- deleteTask(id: string): Promise<PageImportExportTask>;
48
- getSubTask(id: string, subtaskId: string): Promise<PageImportExportTask | null>;
49
- listSubTasks(id: string, status: PageImportExportTaskStatus, limit: number): Promise<PageImportExportTask[]>;
50
- createSubTask(id: string, subTaskId: string, data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;
51
- updateSubTask(id: string, subTaskId: string, data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;
63
+ prevStatus: ImportExportTaskStatus;
64
+ nextStatus: ImportExportTaskStatus;
65
+ }): Promise<ImportExportTask>;
66
+ deleteTask(id: string): Promise<ImportExportTask>;
67
+ getSubTask(id: string, subtaskId: string): Promise<ImportExportTask | null>;
68
+ listSubTasks(id: string, status: ImportExportTaskStatus, limit: number): Promise<ImportExportTask[]>;
69
+ createSubTask(id: string, subTaskId: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
70
+ updateSubTask(id: string, subTaskId: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
52
71
  };
53
- export interface PbPageImportExportContext extends PbContext {
72
+ export interface PbImportExportContext extends PbContext {
54
73
  pageBuilder: PbContext["pageBuilder"] & {
55
74
  pages: PagesImportExportCrud;
56
- pageImportExportTask: PageImportExportTaskCrud;
75
+ blocks: BlocksImportExportCrud;
76
+ importExportTask: ImportExportTaskCrud;
57
77
  };
58
78
  }
59
- export interface PageImportExportPluginsParams {
60
- storageOperations: PageImportExportTaskStorageOperations;
79
+ export interface ImportExportPluginsParams {
80
+ storageOperations: ImportExportTaskStorageOperations;
61
81
  }
62
82
  export {};
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { PbContext } from \"@webiny/api-page-builder/types\";\nimport {\n PageExportRevisionType,\n PageImportExportTask,\n PageImportExportTaskStatus,\n PageImportExportTaskStorageOperations,\n PageImportExportTaskStorageOperationsListParams\n} from \"~/types\";\n\nexport interface ExportPagesParams {\n ids?: string[];\n revisionType: PageExportRevisionType;\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}\n\nexport type PagesImportExportCrud = {\n exportPages(params: ExportPagesParams): Promise<{ task: PageImportExportTask }>;\n importPages(params: ImportPagesParams): Promise<{ task: PageImportExportTask }>;\n};\n\ntype PageImportExportTaskCreateData = Omit<PageImportExportTask, \"id\" | \"createdOn\" | \"createdBy\">;\n\nexport type PageImportExportTaskCrud = {\n /**\n * To be used internally in our code.\n * @internal\n */\n storageOperations: PageImportExportTaskStorageOperations;\n\n getTask(id: string): Promise<PageImportExportTask | null>;\n listTasks(\n params?: PageImportExportTaskStorageOperationsListParams\n ): Promise<PageImportExportTask[]>;\n createTask(data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;\n updateTask(\n id: string,\n data: Partial<PageImportExportTaskCreateData>\n ): Promise<PageImportExportTask>;\n updateStats(\n id: string,\n data: {\n prevStatus: PageImportExportTaskStatus;\n nextStatus: PageImportExportTaskStatus;\n }\n ): Promise<PageImportExportTask>;\n deleteTask(id: string): Promise<PageImportExportTask>;\n getSubTask(id: string, subtaskId: string): Promise<PageImportExportTask | null>;\n listSubTasks(\n id: string,\n status: PageImportExportTaskStatus,\n limit: number\n ): Promise<PageImportExportTask[]>;\n createSubTask(\n id: string,\n subTaskId: string,\n data: Partial<PageImportExportTaskCreateData>\n ): Promise<PageImportExportTask>;\n updateSubTask(\n id: string,\n subTaskId: string,\n data: Partial<PageImportExportTaskCreateData>\n ): Promise<PageImportExportTask>;\n};\n\nexport interface PbPageImportExportContext extends PbContext {\n pageBuilder: PbContext[\"pageBuilder\"] & {\n pages: PagesImportExportCrud;\n pageImportExportTask: PageImportExportTaskCrud;\n };\n}\n\nexport interface PageImportExportPluginsParams {\n storageOperations: PageImportExportTaskStorageOperations;\n}\n"],"mappings":""}
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}\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\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 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,110 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.blocksHandler = void 0;
7
+
8
+ var _types = require("../../types");
9
+
10
+ var _utils = require("../utils");
11
+
12
+ var _client = require("../../client");
13
+
14
+ var _mockSecurity = require("../../mockSecurity");
15
+
16
+ var _utils2 = require("@webiny/utils");
17
+
18
+ const blocksHandler = async (configuration, payload, context) => {
19
+ const log = console.log;
20
+ const {
21
+ pageBuilder
22
+ } = context;
23
+ const {
24
+ task,
25
+ type,
26
+ category,
27
+ zipFileUrl,
28
+ identity
29
+ } = payload;
30
+
31
+ try {
32
+ log("RUNNING Import Blocks Create");
33
+
34
+ if (!zipFileUrl) {
35
+ return {
36
+ data: null,
37
+ error: {
38
+ message: `Missing "zipFileUrl"!`
39
+ }
40
+ };
41
+ }
42
+
43
+ (0, _mockSecurity.mockSecurity)(identity, context); // Step 1: Read the zip file
44
+
45
+ const blockImportDataList = await (0, _utils.readExtractAndUploadZipFileContents)(zipFileUrl); // For each block create a subtask and invoke the process handler
46
+
47
+ for (let i = 0; i < blockImportDataList.length; i++) {
48
+ const blocksDirMap = blockImportDataList[i]; // Create sub task
49
+
50
+ const subtask = await pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
51
+ status: _types.ImportExportTaskStatus.PENDING,
52
+ data: {
53
+ blockKey: blocksDirMap.key,
54
+ category,
55
+ zipFileUrl,
56
+ input: {
57
+ fileUploadsData: blocksDirMap
58
+ }
59
+ }
60
+ });
61
+ log(`Added SUB_TASK "${subtask.id}" to queue.`);
62
+ } // Update main task status
63
+
64
+
65
+ await pageBuilder.importExportTask.updateTask(task.id, {
66
+ status: _types.ImportExportTaskStatus.PROCESSING,
67
+ stats: (0, _utils.initialStats)(blockImportDataList.length)
68
+ });
69
+ await (0, _client.invokeHandlerClient)({
70
+ context,
71
+ name: configuration.handlers.process,
72
+ payload: {
73
+ taskId: task.id,
74
+ // Execute "Process" for the first sub task.
75
+ subTaskIndex: 1,
76
+ type,
77
+ identity: context.security.getIdentity()
78
+ },
79
+ description: "Import blocks - process - first"
80
+ });
81
+ } catch (e) {
82
+ log("[IMPORT_BLOCKS_CREATE] Error => ", e);
83
+ /**
84
+ * In case of error, we'll update the task status to "failed",
85
+ * so that, client can show notify the user appropriately.
86
+ */
87
+
88
+ await pageBuilder.importExportTask.updateTask(task.id, {
89
+ status: _types.ImportExportTaskStatus.FAILED,
90
+ error: {
91
+ name: e.name,
92
+ message: e.message,
93
+ code: e.code || "EXPORT_FAILED"
94
+ }
95
+ });
96
+ return {
97
+ data: null,
98
+ error: {
99
+ message: e.message
100
+ }
101
+ };
102
+ }
103
+
104
+ return {
105
+ data: "",
106
+ error: null
107
+ };
108
+ };
109
+
110
+ 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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"}
@@ -1,6 +1,6 @@
1
- import { PageImportExportTask, PbPageImportExportContext } from "../../types";
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
  };
@@ -8,7 +8,8 @@ interface Configuration {
8
8
  export interface Payload {
9
9
  category: string;
10
10
  zipFileUrl: string;
11
- task: PageImportExportTask;
11
+ task: ImportExportTask;
12
+ type: string;
12
13
  identity: SecurityIdentity;
13
14
  }
14
15
  export interface Response {
@@ -18,5 +19,5 @@ export interface Response {
18
19
  /**
19
20
  * Handles the import page workflow.
20
21
  */
21
- declare const _default: (configuration: Configuration) => import("@webiny/handler-aws").RawEventHandler<Payload, PbPageImportExportContext, Response>;
22
+ declare const _default: (configuration: Configuration) => import("@webiny/handler-aws").RawEventHandler<Payload, PbImportExportContext, Response>;
22
23
  export default _default;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _handlerAws = require("@webiny/handler-aws");
9
+
10
+ var _blocksHandler = require("./blocksHandler");
11
+
12
+ var _pagesHandler = require("./pagesHandler");
13
+
14
+ /**
15
+ * Handles the import page workflow.
16
+ */
17
+ var _default = configuration => {
18
+ return (0, _handlerAws.createRawEventHandler)(async ({
19
+ payload,
20
+ context
21
+ }) => {
22
+ if (payload.type === "block") {
23
+ return await (0, _blocksHandler.blocksHandler)(configuration, payload, context);
24
+ } else {
25
+ return await (0, _pagesHandler.pagesHandler)(configuration, payload, context);
26
+ }
27
+ });
28
+ };
29
+
30
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["configuration","createRawEventHandler","payload","context","type","blocksHandler","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\";\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}\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 if (payload.type === \"block\") {\n return await blocksHandler(configuration, payload, context);\n } else {\n return await pagesHandler(configuration, payload, context);\n }\n }\n );\n};\n"],"mappings":";;;;;;;AAEA;;AACA;;AACA;;AAoBA;AACA;AACA;eACgBA,aAAD,IAAkC;EAC7C,OAAO,IAAAC,iCAAA,EACH,OAAO;IAAEC,OAAF;IAAWC;EAAX,CAAP,KAAgC;IAC5B,IAAID,OAAO,CAACE,IAAR,KAAiB,OAArB,EAA8B;MAC1B,OAAO,MAAM,IAAAC,4BAAA,EAAcL,aAAd,EAA6BE,OAA7B,EAAsCC,OAAtC,CAAb;IACH,CAFD,MAEO;MACH,OAAO,MAAM,IAAAG,0BAAA,EAAaN,aAAb,EAA4BE,OAA5B,EAAqCC,OAArC,CAAb;IACH;EACJ,CAPE,CAAP;AASH,C"}
@@ -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,110 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.pagesHandler = void 0;
7
+
8
+ var _types = require("../../types");
9
+
10
+ var _utils = require("../utils");
11
+
12
+ var _client = require("../../client");
13
+
14
+ var _mockSecurity = require("../../mockSecurity");
15
+
16
+ var _utils2 = require("@webiny/utils");
17
+
18
+ const pagesHandler = async (configuration, payload, context) => {
19
+ const log = console.log;
20
+ const {
21
+ pageBuilder
22
+ } = context;
23
+ const {
24
+ task,
25
+ type,
26
+ category,
27
+ zipFileUrl,
28
+ identity
29
+ } = payload;
30
+
31
+ try {
32
+ log("RUNNING Import Pages Create");
33
+
34
+ if (!zipFileUrl) {
35
+ return {
36
+ data: null,
37
+ error: {
38
+ message: `Missing "zipFileUrl"!`
39
+ }
40
+ };
41
+ }
42
+
43
+ (0, _mockSecurity.mockSecurity)(identity, context); // Step 1: Read the zip file
44
+
45
+ const pageImportDataList = await (0, _utils.readExtractAndUploadZipFileContents)(zipFileUrl); // For each page create a subtask and invoke the process handler
46
+
47
+ for (let i = 0; i < pageImportDataList.length; i++) {
48
+ const pagesDirMap = pageImportDataList[i]; // Create sub task
49
+
50
+ const subtask = await pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
51
+ status: _types.ImportExportTaskStatus.PENDING,
52
+ data: {
53
+ pageKey: pagesDirMap.key,
54
+ category,
55
+ zipFileUrl,
56
+ input: {
57
+ fileUploadsData: pagesDirMap
58
+ }
59
+ }
60
+ });
61
+ log(`Added SUB_TASK "${subtask.id}" to queue.`);
62
+ } // Update main task status
63
+
64
+
65
+ await pageBuilder.importExportTask.updateTask(task.id, {
66
+ status: _types.ImportExportTaskStatus.PROCESSING,
67
+ stats: (0, _utils.initialStats)(pageImportDataList.length)
68
+ });
69
+ await (0, _client.invokeHandlerClient)({
70
+ context,
71
+ name: configuration.handlers.process,
72
+ payload: {
73
+ taskId: task.id,
74
+ // Execute "Process" for the first sub task.
75
+ subTaskIndex: 1,
76
+ type,
77
+ identity: context.security.getIdentity()
78
+ },
79
+ description: "Import pages - process - first"
80
+ });
81
+ } catch (e) {
82
+ log("[IMPORT_PAGES_CREATE] Error => ", e);
83
+ /**
84
+ * In case of error, we'll update the task status to "failed",
85
+ * so that, client can show notify the user appropriately.
86
+ */
87
+
88
+ await pageBuilder.importExportTask.updateTask(task.id, {
89
+ status: _types.ImportExportTaskStatus.FAILED,
90
+ error: {
91
+ name: e.name,
92
+ message: e.message,
93
+ code: e.code || "EXPORT_FAILED"
94
+ }
95
+ });
96
+ return {
97
+ data: null,
98
+ error: {
99
+ message: e.message
100
+ }
101
+ };
102
+ }
103
+
104
+ return {
105
+ data: "",
106
+ error: null
107
+ };
108
+ };
109
+
110
+ exports.pagesHandler = pagesHandler;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pagesHandler","configuration","payload","context","log","console","pageBuilder","task","type","category","zipFileUrl","identity","data","error","message","mockSecurity","pageImportDataList","readExtractAndUploadZipFileContents","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"],"sources":["pagesHandler.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 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 } = 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 readExtractAndUploadZipFileContents(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 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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"}
@@ -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>;