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

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 (192) hide show
  1. package/client.d.ts +2 -2
  2. package/client.js +2 -6
  3. package/client.js.map +1 -1
  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/formsHandler.d.ts +6 -0
  8. package/export/combine/formsHandler.js +99 -0
  9. package/export/combine/formsHandler.js.map +1 -0
  10. package/{exportPages → export}/combine/index.d.ts +3 -2
  11. package/export/combine/index.js +40 -0
  12. package/export/combine/index.js.map +1 -0
  13. package/export/combine/pagesHandler.d.ts +6 -0
  14. package/export/combine/pagesHandler.js +99 -0
  15. package/export/combine/pagesHandler.js.map +1 -0
  16. package/export/combine/templatesHandler.d.ts +6 -0
  17. package/export/combine/templatesHandler.js +99 -0
  18. package/export/combine/templatesHandler.js.map +1 -0
  19. package/export/process/blocksHandler.d.ts +6 -0
  20. package/export/process/blocksHandler.js +162 -0
  21. package/export/process/blocksHandler.js.map +1 -0
  22. package/export/process/formsHandler.d.ts +6 -0
  23. package/export/process/formsHandler.js +187 -0
  24. package/export/process/formsHandler.js.map +1 -0
  25. package/{exportPages → export}/process/index.d.ts +4 -6
  26. package/export/process/index.js +37 -0
  27. package/export/process/index.js.map +1 -0
  28. package/export/process/pagesHandler.d.ts +6 -0
  29. package/export/process/pagesHandler.js +189 -0
  30. package/export/process/pagesHandler.js.map +1 -0
  31. package/export/process/templatesHandler.d.ts +6 -0
  32. package/export/process/templatesHandler.js +166 -0
  33. package/export/process/templatesHandler.js.map +1 -0
  34. package/{exportPages → export}/s3Stream.d.ts +5 -2
  35. package/{exportPages → export}/s3Stream.js +1 -20
  36. package/export/s3Stream.js.map +1 -0
  37. package/export/utils.d.ts +29 -0
  38. package/export/utils.js +188 -0
  39. package/export/utils.js.map +1 -0
  40. package/{exportPages → export}/zipper.d.ts +6 -5
  41. package/{exportPages → export}/zipper.js +38 -49
  42. package/export/zipper.js.map +1 -0
  43. package/graphql/crud/blocks.crud.d.ts +4 -0
  44. package/graphql/crud/blocks.crud.js +136 -0
  45. package/graphql/crud/blocks.crud.js.map +1 -0
  46. package/graphql/crud/forms.crud.d.ts +4 -0
  47. package/graphql/crud/forms.crud.js +129 -0
  48. package/graphql/crud/forms.crud.js.map +1 -0
  49. package/graphql/crud/importExportTasks.crud.d.ts +5 -0
  50. package/graphql/crud/{pageImportExportTasks.crud.js → importExportTasks.crud.js} +57 -105
  51. package/graphql/crud/importExportTasks.crud.js.map +1 -0
  52. package/graphql/crud/pages.crud.d.ts +2 -2
  53. package/graphql/crud/pages.crud.js +39 -53
  54. package/graphql/crud/pages.crud.js.map +1 -1
  55. package/graphql/crud/templates.crud.d.ts +4 -0
  56. package/graphql/crud/templates.crud.js +124 -0
  57. package/graphql/crud/templates.crud.js.map +1 -0
  58. package/graphql/crud.d.ts +2 -2
  59. package/graphql/crud.js +5 -7
  60. package/graphql/crud.js.map +1 -1
  61. package/graphql/graphql/blocks.gql.d.ts +4 -0
  62. package/graphql/graphql/blocks.gql.js +52 -0
  63. package/graphql/graphql/blocks.gql.js.map +1 -0
  64. package/graphql/graphql/forms.gql.d.ts +4 -0
  65. package/graphql/graphql/forms.gql.js +60 -0
  66. package/graphql/graphql/forms.gql.js.map +1 -0
  67. package/graphql/graphql/importExportTasks.gql.d.ts +4 -0
  68. package/graphql/graphql/{pageImportExportTasks.gql.js → importExportTasks.gql.js} +18 -23
  69. package/graphql/graphql/importExportTasks.gql.js.map +1 -0
  70. package/graphql/graphql/pages.gql.d.ts +2 -2
  71. package/graphql/graphql/pages.gql.js +4 -15
  72. package/graphql/graphql/pages.gql.js.map +1 -1
  73. package/graphql/graphql/templates.gql.d.ts +4 -0
  74. package/graphql/graphql/templates.gql.js +52 -0
  75. package/graphql/graphql/templates.gql.js.map +1 -0
  76. package/graphql/graphql/utils/resolve.js +0 -3
  77. package/graphql/graphql/utils/resolve.js.map +1 -1
  78. package/graphql/graphql.js +5 -6
  79. package/graphql/graphql.js.map +1 -1
  80. package/graphql/index.d.ts +2 -2
  81. package/graphql/index.js +0 -5
  82. package/graphql/index.js.map +1 -1
  83. package/graphql/types.d.ts +83 -23
  84. package/graphql/types.js.map +1 -1
  85. package/import/constants.d.ts +3 -0
  86. package/import/constants.js +14 -0
  87. package/import/constants.js.map +1 -0
  88. package/import/create/blocksHandler.d.ts +3 -0
  89. package/import/create/blocksHandler.js +101 -0
  90. package/import/create/blocksHandler.js.map +1 -0
  91. package/import/create/formsHandler.d.ts +3 -0
  92. package/import/create/formsHandler.js +103 -0
  93. package/import/create/formsHandler.js.map +1 -0
  94. package/{importPages → import}/create/index.d.ts +7 -5
  95. package/import/create/index.js +40 -0
  96. package/import/create/index.js.map +1 -0
  97. package/import/create/pagesHandler.d.ts +3 -0
  98. package/import/create/pagesHandler.js +103 -0
  99. package/import/create/pagesHandler.js.map +1 -0
  100. package/import/create/templatesHandler.d.ts +3 -0
  101. package/import/create/templatesHandler.js +99 -0
  102. package/import/create/templatesHandler.js.map +1 -0
  103. package/import/process/blocks/blocksHandler.d.ts +3 -0
  104. package/import/process/blocks/blocksHandler.js +169 -0
  105. package/import/process/blocks/blocksHandler.js.map +1 -0
  106. package/import/process/blocks/importBlock.d.ts +11 -0
  107. package/import/process/blocks/importBlock.js +92 -0
  108. package/import/process/blocks/importBlock.js.map +1 -0
  109. package/import/process/blocksHandler.d.ts +3 -0
  110. package/import/process/blocksHandler.js +175 -0
  111. package/import/process/blocksHandler.js.map +1 -0
  112. package/import/process/forms/formsHandler.d.ts +3 -0
  113. package/import/process/forms/formsHandler.js +176 -0
  114. package/import/process/forms/formsHandler.js.map +1 -0
  115. package/import/process/forms/importForm.d.ts +9 -0
  116. package/import/process/forms/importForm.js +43 -0
  117. package/import/process/forms/importForm.js.map +1 -0
  118. package/{importPages → import}/process/index.d.ts +5 -3
  119. package/import/process/index.js +37 -0
  120. package/import/process/index.js.map +1 -0
  121. package/import/process/pages/importPage.d.ts +11 -0
  122. package/import/process/pages/importPage.js +92 -0
  123. package/import/process/pages/importPage.js.map +1 -0
  124. package/import/process/pages/pagesHandler.d.ts +3 -0
  125. package/import/process/pages/pagesHandler.js +183 -0
  126. package/import/process/pages/pagesHandler.js.map +1 -0
  127. package/import/process/pagesHandler.d.ts +3 -0
  128. package/import/process/pagesHandler.js +180 -0
  129. package/import/process/pagesHandler.js.map +1 -0
  130. package/import/process/templates/importTemplate.d.ts +11 -0
  131. package/import/process/templates/importTemplate.js +66 -0
  132. package/import/process/templates/importTemplate.js.map +1 -0
  133. package/import/process/templates/templatesHandler.d.ts +3 -0
  134. package/import/process/templates/templatesHandler.js +170 -0
  135. package/import/process/templates/templatesHandler.js.map +1 -0
  136. package/import/utils/deleteS3Folder.d.ts +1 -0
  137. package/import/utils/deleteS3Folder.js +19 -0
  138. package/import/utils/deleteS3Folder.js.map +1 -0
  139. package/import/utils/extractAndUploadZipFileContents.d.ts +7 -0
  140. package/import/utils/extractAndUploadZipFileContents.js +122 -0
  141. package/import/utils/extractAndUploadZipFileContents.js.map +1 -0
  142. package/import/utils/extractZipAndUploadToS3.d.ts +2 -0
  143. package/import/utils/extractZipAndUploadToS3.js +98 -0
  144. package/import/utils/extractZipAndUploadToS3.js.map +1 -0
  145. package/import/utils/getFileNameWithoutExt.d.ts +1 -0
  146. package/import/utils/getFileNameWithoutExt.js +11 -0
  147. package/import/utils/getFileNameWithoutExt.js.map +1 -0
  148. package/import/utils/index.d.ts +9 -0
  149. package/import/utils/index.js +104 -0
  150. package/import/utils/index.js.map +1 -0
  151. package/import/utils/initialStats.d.ts +7 -0
  152. package/import/utils/initialStats.js +16 -0
  153. package/import/utils/initialStats.js.map +1 -0
  154. package/import/utils/prepareDataDirMap.d.ts +6 -0
  155. package/import/utils/prepareDataDirMap.js +29 -0
  156. package/import/utils/prepareDataDirMap.js.map +1 -0
  157. package/import/utils/updateFilesInData.d.ts +8 -0
  158. package/import/utils/updateFilesInData.js +48 -0
  159. package/import/utils/updateFilesInData.js.map +1 -0
  160. package/import/utils/uploadAssets.d.ts +10 -0
  161. package/import/utils/uploadAssets.js +51 -0
  162. package/import/utils/uploadAssets.js.map +1 -0
  163. package/import/utils/uploadFilesFromS3.d.ts +3 -0
  164. package/import/utils/uploadFilesFromS3.js +19 -0
  165. package/import/utils/uploadFilesFromS3.js.map +1 -0
  166. package/{importPages → import}/utils.d.ts +19 -20
  167. package/{importPages → import}/utils.js +107 -36
  168. package/import/utils.js.map +1 -0
  169. package/mockSecurity.js +0 -2
  170. package/mockSecurity.js.map +1 -1
  171. package/package.json +25 -24
  172. package/types.d.ts +83 -65
  173. package/types.js +17 -22
  174. package/types.js.map +1 -1
  175. package/exportPages/combine/index.js +0 -114
  176. package/exportPages/combine/index.js.map +0 -1
  177. package/exportPages/process/index.js +0 -208
  178. package/exportPages/process/index.js.map +0 -1
  179. package/exportPages/s3Stream.js.map +0 -1
  180. package/exportPages/utils.d.ts +0 -13
  181. package/exportPages/utils.js +0 -113
  182. package/exportPages/utils.js.map +0 -1
  183. package/exportPages/zipper.js.map +0 -1
  184. package/graphql/crud/pageImportExportTasks.crud.d.ts +0 -5
  185. package/graphql/crud/pageImportExportTasks.crud.js.map +0 -1
  186. package/graphql/graphql/pageImportExportTasks.gql.d.ts +0 -4
  187. package/graphql/graphql/pageImportExportTasks.gql.js.map +0 -1
  188. package/importPages/create/index.js +0 -118
  189. package/importPages/create/index.js.map +0 -1
  190. package/importPages/process/index.js +0 -185
  191. package/importPages/process/index.js.map +0 -1
  192. package/importPages/utils.js.map +0 -1
@@ -1,53 +1,42 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _error = _interopRequireDefault(require("@webiny/error"));
11
-
12
9
  var _handlerGraphql = require("@webiny/handler-graphql");
13
-
14
10
  var _api = require("@webiny/api");
15
-
16
11
  var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
17
-
18
12
  var _types = require("../../types");
19
-
20
13
  var _client = require("../../client");
21
-
22
- var _utils = require("../../importPages/utils");
23
-
24
- var _utils2 = require("../../exportPages/utils");
25
-
14
+ var _utils = require("../../import/utils");
15
+ var _utils2 = require("../../export/utils");
26
16
  var _utils3 = require("@webiny/utils");
27
-
28
17
  const PERMISSION_NAME = "pb.page";
29
- const EXPORT_PAGES_PROCESS_HANDLER = process.env.EXPORT_PAGES_PROCESS_HANDLER;
30
- const IMPORT_PAGES_CREATE_HANDLER = process.env.IMPORT_PAGES_CREATE_HANDLER;
31
-
18
+ const EXPORT_PAGES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
19
+ const IMPORT_PAGES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
32
20
  var _default = new _api.ContextPlugin(context => {
33
21
  const importExportCrud = {
34
22
  async importPages({
35
23
  category: categorySlug,
36
- zipFileUrl
24
+ zipFileUrl,
25
+ meta
37
26
  }) {
38
27
  await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
39
28
  rwd: "w"
40
- }); // Bail out early if category not found
29
+ });
41
30
 
31
+ // Bail out early if category not found
42
32
  const category = await context.pageBuilder.getCategory(categorySlug);
43
-
44
33
  if (!category) {
45
34
  throw new _handlerGraphql.NotFoundError(`Category with slug "${categorySlug}" not found.`);
46
- } // Create a task for import page
47
-
35
+ }
48
36
 
49
- const task = await context.pageBuilder.pageImportExportTask.createTask({
50
- status: _types.PageImportExportTaskStatus.PENDING,
37
+ // Create a task for import page
38
+ const task = await context.pageBuilder.importExportTask.createTask({
39
+ status: _types.ImportExportTaskStatus.PENDING,
51
40
  input: {
52
41
  category: categorySlug,
53
42
  zipFileUrl
@@ -58,7 +47,6 @@ var _default = new _api.ContextPlugin(context => {
58
47
  * ImportPages
59
48
  * importPages
60
49
  */
61
-
62
50
  await (0, _client.invokeHandlerClient)({
63
51
  context,
64
52
  name: IMPORT_PAGES_CREATE_HANDLER,
@@ -66,7 +54,9 @@ var _default = new _api.ContextPlugin(context => {
66
54
  category: categorySlug,
67
55
  zipFileUrl,
68
56
  task,
69
- identity: context.security.getIdentity()
57
+ type: "page",
58
+ identity: context.security.getIdentity(),
59
+ meta
70
60
  },
71
61
  description: "Import Pages - create"
72
62
  });
@@ -74,7 +64,6 @@ var _default = new _api.ContextPlugin(context => {
74
64
  task
75
65
  };
76
66
  },
77
-
78
67
  async exportPages({
79
68
  ids: initialPageIds,
80
69
  revisionType,
@@ -85,8 +74,8 @@ var _default = new _api.ContextPlugin(context => {
85
74
  await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
86
75
  rwd: "w"
87
76
  });
88
- let pageIds = initialPageIds || []; // If no ids are provided then it means we want to export all pages
89
-
77
+ let pageIds = initialPageIds || [];
78
+ // If no ids are provided then it means we want to export all pages
90
79
  if (!initialPageIds || Array.isArray(initialPageIds) && initialPageIds.length === 0) {
91
80
  pageIds = [];
92
81
  let pages = [];
@@ -94,65 +83,64 @@ var _default = new _api.ContextPlugin(context => {
94
83
  hasMoreItems: true,
95
84
  cursor: null,
96
85
  totalCount: 0
97
- }; // Paginate pages
98
-
86
+ };
87
+ // Paginate pages
99
88
  while (meta.hasMoreItems) {
100
89
  [pages, meta] = await context.pageBuilder.listLatestPages({
101
90
  after: meta.cursor,
102
91
  where: where,
103
92
  sort: sort,
104
93
  search: search
105
- }); // Save page ids
106
-
94
+ });
95
+ // Save page ids
107
96
  pages.forEach(page => pageIds.push(page.id));
108
97
  }
109
98
  }
110
-
111
99
  if (pageIds.length === 0) {
112
100
  throw new _error.default("Cannot export pages - no pages found for provided inputs.", "EMPTY_EXPORT_NO_PAGES_FOUND");
113
- } // Create the main task for page export.
114
-
101
+ }
115
102
 
116
- const task = await context.pageBuilder.pageImportExportTask.createTask({
117
- status: _types.PageImportExportTaskStatus.PENDING
103
+ // Create the main task for page export.
104
+ const task = await context.pageBuilder.importExportTask.createTask({
105
+ status: _types.ImportExportTaskStatus.PENDING
118
106
  });
119
- const exportPagesDataKey = `${_utils2.EXPORT_PAGES_FOLDER_KEY}/${task.id}`; // For each page create a sub task and invoke the process handler.
120
-
107
+ const exportPagesDataKey = `${_utils2.EXPORT_PAGES_FOLDER_KEY}/${task.id}`;
108
+ // For each page create a sub task and invoke the process handler.
121
109
  for (let i = 0; i < pageIds.length; i++) {
122
- const pageId = pageIds[i]; // Create sub task.
123
-
124
- await context.pageBuilder.pageImportExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
125
- status: _types.PageImportExportTaskStatus.PENDING,
110
+ const pageId = pageIds[i];
111
+ // Create sub task.
112
+ await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
113
+ status: _types.ImportExportTaskStatus.PENDING,
126
114
  input: {
127
115
  pageId,
128
116
  exportPagesDataKey,
129
117
  revisionType
130
118
  }
131
119
  });
132
- } // Update main task status.
133
-
134
-
135
- await context.pageBuilder.pageImportExportTask.updateTask(task.id, {
136
- status: _types.PageImportExportTaskStatus.PROCESSING,
120
+ }
121
+ // Update main task status.
122
+ await context.pageBuilder.importExportTask.updateTask(task.id, {
123
+ status: _types.ImportExportTaskStatus.PROCESSING,
137
124
  stats: (0, _utils.initialStats)(pageIds.length),
138
125
  input: {
139
126
  exportPagesDataKey,
140
127
  revisionType
141
128
  }
142
129
  });
130
+
143
131
  /**
144
132
  * Export Pages
145
133
  * ExportPages
146
134
  * exportPages
147
135
  */
148
136
  // Invoke handler.
149
-
150
137
  await (0, _client.invokeHandlerClient)({
151
138
  context,
152
139
  name: EXPORT_PAGES_PROCESS_HANDLER,
153
140
  payload: {
154
141
  taskId: task.id,
155
142
  subTaskIndex: 1,
143
+ type: "page",
156
144
  identity: context.security.getIdentity()
157
145
  },
158
146
  description: "Export pages - process"
@@ -161,10 +149,8 @@ var _default = new _api.ContextPlugin(context => {
161
149
  task
162
150
  };
163
151
  }
164
-
165
- }; // Modify context
166
-
152
+ };
153
+ // Modify context
167
154
  context.pageBuilder.pages = importExportCrud;
168
155
  });
169
-
170
156
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["PERMISSION_NAME","EXPORT_PAGES_PROCESS_HANDLER","process","env","IMPORT_PAGES_CREATE_HANDLER","ContextPlugin","context","importExportCrud","importPages","category","categorySlug","zipFileUrl","checkBasePermissions","rwd","pageBuilder","getCategory","NotFoundError","task","pageImportExportTask","createTask","status","PageImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","identity","security","getIdentity","description","exportPages","ids","initialPageIds","revisionType","where","sort","search","pageIds","Array","isArray","length","pages","meta","hasMoreItems","cursor","totalCount","listLatestPages","after","forEach","page","push","id","WebinyError","exportPagesDataKey","EXPORT_PAGES_FOLDER_KEY","i","pageId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex"],"sources":["pages.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport checkBasePermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions\";\nimport {\n PageImportExportTaskStatus,\n PagesImportExportCrud,\n PbPageImportExportContext\n} from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as CreateHandlerPayload } from \"~/importPages/create\";\nimport { initialStats } from \"~/importPages/utils\";\nimport { Payload as ExportPagesProcessHandlerPayload } from \"~/exportPages/process\";\nimport { EXPORT_PAGES_FOLDER_KEY } from \"~/exportPages/utils\";\nimport { MetaResponse } from \"@webiny/api-page-builder/types\";\nimport { zeroPad } from \"@webiny/utils\";\n\nconst PERMISSION_NAME = \"pb.page\";\nconst EXPORT_PAGES_PROCESS_HANDLER = process.env.EXPORT_PAGES_PROCESS_HANDLER as string;\nconst IMPORT_PAGES_CREATE_HANDLER = process.env.IMPORT_PAGES_CREATE_HANDLER as string;\n\nexport default new ContextPlugin<PbPageImportExportContext>(context => {\n const importExportCrud: PagesImportExportCrud = {\n async importPages({ category: categorySlug, zipFileUrl }) {\n await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n\n // Bail out early if category not found\n const category = await context.pageBuilder.getCategory(categorySlug);\n if (!category) {\n throw new NotFoundError(`Category with slug \"${categorySlug}\" not found.`);\n }\n\n // Create a task for import page\n const task = await context.pageBuilder.pageImportExportTask.createTask({\n status: PageImportExportTaskStatus.PENDING,\n input: {\n category: categorySlug,\n zipFileUrl\n }\n });\n /**\n * Import Pages\n * ImportPages\n * importPages\n */\n await invokeHandlerClient<CreateHandlerPayload>({\n context,\n name: IMPORT_PAGES_CREATE_HANDLER,\n payload: {\n category: categorySlug,\n zipFileUrl,\n task,\n identity: context.security.getIdentity()\n },\n description: \"Import Pages - create\"\n });\n\n return {\n task\n };\n },\n\n async exportPages({ ids: initialPageIds, revisionType, where, sort, search }) {\n await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n let pageIds: string[] = initialPageIds || [];\n // If no ids are provided then it means we want to export all pages\n if (!initialPageIds || (Array.isArray(initialPageIds) && initialPageIds.length === 0)) {\n pageIds = [];\n let pages = [];\n let meta: MetaResponse = {\n hasMoreItems: true,\n cursor: null,\n totalCount: 0\n };\n // Paginate pages\n while (meta.hasMoreItems) {\n [pages, meta] = await context.pageBuilder.listLatestPages({\n after: meta.cursor,\n where: where,\n sort: sort,\n search: search\n });\n // Save page ids\n pages.forEach(page => pageIds.push(page.id));\n }\n }\n\n if (pageIds.length === 0) {\n throw new WebinyError(\n \"Cannot export pages - no pages found for provided inputs.\",\n \"EMPTY_EXPORT_NO_PAGES_FOUND\"\n );\n }\n\n // Create the main task for page export.\n const task = await context.pageBuilder.pageImportExportTask.createTask({\n status: PageImportExportTaskStatus.PENDING\n });\n const exportPagesDataKey = `${EXPORT_PAGES_FOLDER_KEY}/${task.id}`;\n // For each page create a sub task and invoke the process handler.\n for (let i = 0; i < pageIds.length; i++) {\n const pageId = pageIds[i];\n // Create sub task.\n await context.pageBuilder.pageImportExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: PageImportExportTaskStatus.PENDING,\n input: {\n pageId,\n exportPagesDataKey,\n revisionType\n }\n }\n );\n }\n // Update main task status.\n await context.pageBuilder.pageImportExportTask.updateTask(task.id, {\n status: PageImportExportTaskStatus.PROCESSING,\n stats: initialStats(pageIds.length),\n input: {\n exportPagesDataKey,\n revisionType\n }\n });\n\n /**\n * Export Pages\n * ExportPages\n * exportPages\n */\n // Invoke handler.\n await invokeHandlerClient<ExportPagesProcessHandlerPayload>({\n context,\n name: EXPORT_PAGES_PROCESS_HANDLER,\n payload: {\n taskId: task.id,\n subTaskIndex: 1,\n identity: context.security.getIdentity()\n },\n description: \"Export pages - process\"\n });\n\n return { task };\n }\n };\n // Modify context\n context.pageBuilder.pages = importExportCrud;\n});\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAEA;;AAEA;;AAEA;;AAEA,MAAMA,eAAe,GAAG,SAAxB;AACA,MAAMC,4BAA4B,GAAGC,OAAO,CAACC,GAAR,CAAYF,4BAAjD;AACA,MAAMG,2BAA2B,GAAGF,OAAO,CAACC,GAAR,CAAYC,2BAAhD;;eAEe,IAAIC,kBAAJ,CAA6CC,OAAO,IAAI;EACnE,MAAMC,gBAAuC,GAAG;IAC5C,MAAMC,WAAN,CAAkB;MAAEC,QAAQ,EAAEC,YAAZ;MAA0BC;IAA1B,CAAlB,EAA0D;MACtD,MAAM,IAAAC,6BAAA,EAAqBN,OAArB,EAA8BN,eAA9B,EAA+C;QACjDa,GAAG,EAAE;MAD4C,CAA/C,CAAN,CADsD,CAKtD;;MACA,MAAMJ,QAAQ,GAAG,MAAMH,OAAO,CAACQ,WAAR,CAAoBC,WAApB,CAAgCL,YAAhC,CAAvB;;MACA,IAAI,CAACD,QAAL,EAAe;QACX,MAAM,IAAIO,6BAAJ,CAAmB,uBAAsBN,YAAa,cAAtD,CAAN;MACH,CATqD,CAWtD;;;MACA,MAAMO,IAAI,GAAG,MAAMX,OAAO,CAACQ,WAAR,CAAoBI,oBAApB,CAAyCC,UAAzC,CAAoD;QACnEC,MAAM,EAAEC,iCAAA,CAA2BC,OADgC;QAEnEC,KAAK,EAAE;UACHd,QAAQ,EAAEC,YADP;UAEHC;QAFG;MAF4D,CAApD,CAAnB;MAOA;AACZ;AACA;AACA;AACA;;MACY,MAAM,IAAAa,2BAAA,EAA0C;QAC5ClB,OAD4C;QAE5CmB,IAAI,EAAErB,2BAFsC;QAG5CsB,OAAO,EAAE;UACLjB,QAAQ,EAAEC,YADL;UAELC,UAFK;UAGLM,IAHK;UAILU,QAAQ,EAAErB,OAAO,CAACsB,QAAR,CAAiBC,WAAjB;QAJL,CAHmC;QAS5CC,WAAW,EAAE;MAT+B,CAA1C,CAAN;MAYA,OAAO;QACHb;MADG,CAAP;IAGH,CAxC2C;;IA0C5C,MAAMc,WAAN,CAAkB;MAAEC,GAAG,EAAEC,cAAP;MAAuBC,YAAvB;MAAqCC,KAArC;MAA4CC,IAA5C;MAAkDC;IAAlD,CAAlB,EAA8E;MAC1E,MAAM,IAAAzB,6BAAA,EAAqBN,OAArB,EAA8BN,eAA9B,EAA+C;QACjDa,GAAG,EAAE;MAD4C,CAA/C,CAAN;MAGA,IAAIyB,OAAiB,GAAGL,cAAc,IAAI,EAA1C,CAJ0E,CAK1E;;MACA,IAAI,CAACA,cAAD,IAAoBM,KAAK,CAACC,OAAN,CAAcP,cAAd,KAAiCA,cAAc,CAACQ,MAAf,KAA0B,CAAnF,EAAuF;QACnFH,OAAO,GAAG,EAAV;QACA,IAAII,KAAK,GAAG,EAAZ;QACA,IAAIC,IAAkB,GAAG;UACrBC,YAAY,EAAE,IADO;UAErBC,MAAM,EAAE,IAFa;UAGrBC,UAAU,EAAE;QAHS,CAAzB,CAHmF,CAQnF;;QACA,OAAOH,IAAI,CAACC,YAAZ,EAA0B;UACtB,CAACF,KAAD,EAAQC,IAAR,IAAgB,MAAMrC,OAAO,CAACQ,WAAR,CAAoBiC,eAApB,CAAoC;YACtDC,KAAK,EAAEL,IAAI,CAACE,MAD0C;YAEtDV,KAAK,EAAEA,KAF+C;YAGtDC,IAAI,EAAEA,IAHgD;YAItDC,MAAM,EAAEA;UAJ8C,CAApC,CAAtB,CADsB,CAOtB;;UACAK,KAAK,CAACO,OAAN,CAAcC,IAAI,IAAIZ,OAAO,CAACa,IAAR,CAAaD,IAAI,CAACE,EAAlB,CAAtB;QACH;MACJ;;MAED,IAAId,OAAO,CAACG,MAAR,KAAmB,CAAvB,EAA0B;QACtB,MAAM,IAAIY,cAAJ,CACF,2DADE,EAEF,6BAFE,CAAN;MAIH,CAhCyE,CAkC1E;;;MACA,MAAMpC,IAAI,GAAG,MAAMX,OAAO,CAACQ,WAAR,CAAoBI,oBAApB,CAAyCC,UAAzC,CAAoD;QACnEC,MAAM,EAAEC,iCAAA,CAA2BC;MADgC,CAApD,CAAnB;MAGA,MAAMgC,kBAAkB,GAAI,GAAEC,+BAAwB,IAAGtC,IAAI,CAACmC,EAAG,EAAjE,CAtC0E,CAuC1E;;MACA,KAAK,IAAII,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGlB,OAAO,CAACG,MAA5B,EAAoCe,CAAC,EAArC,EAAyC;QACrC,MAAMC,MAAM,GAAGnB,OAAO,CAACkB,CAAD,CAAtB,CADqC,CAErC;;QACA,MAAMlD,OAAO,CAACQ,WAAR,CAAoBI,oBAApB,CAAyCwC,aAAzC,CACFzC,IAAI,CAACmC,EADH,EAEF,IAAAO,eAAA,EAAQH,CAAC,GAAG,CAAZ,EAAe,CAAf,CAFE,EAGF;UACIpC,MAAM,EAAEC,iCAAA,CAA2BC,OADvC;UAEIC,KAAK,EAAE;YACHkC,MADG;YAEHH,kBAFG;YAGHpB;UAHG;QAFX,CAHE,CAAN;MAYH,CAvDyE,CAwD1E;;;MACA,MAAM5B,OAAO,CAACQ,WAAR,CAAoBI,oBAApB,CAAyC0C,UAAzC,CAAoD3C,IAAI,CAACmC,EAAzD,EAA6D;QAC/DhC,MAAM,EAAEC,iCAAA,CAA2BwC,UAD4B;QAE/DC,KAAK,EAAE,IAAAC,mBAAA,EAAazB,OAAO,CAACG,MAArB,CAFwD;QAG/DlB,KAAK,EAAE;UACH+B,kBADG;UAEHpB;QAFG;MAHwD,CAA7D,CAAN;MASA;AACZ;AACA;AACA;AACA;MACY;;MACA,MAAM,IAAAV,2BAAA,EAAsD;QACxDlB,OADwD;QAExDmB,IAAI,EAAExB,4BAFkD;QAGxDyB,OAAO,EAAE;UACLsC,MAAM,EAAE/C,IAAI,CAACmC,EADR;UAELa,YAAY,EAAE,CAFT;UAGLtC,QAAQ,EAAErB,OAAO,CAACsB,QAAR,CAAiBC,WAAjB;QAHL,CAH+C;QAQxDC,WAAW,EAAE;MAR2C,CAAtD,CAAN;MAWA,OAAO;QAAEb;MAAF,CAAP;IACH;;EA9H2C,CAAhD,CADmE,CAiInE;;EACAX,OAAO,CAACQ,WAAR,CAAoB4B,KAApB,GAA4BnC,gBAA5B;AACH,CAnIc,C"}
1
+ {"version":3,"names":["PERMISSION_NAME","EXPORT_PAGES_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_PAGES_CREATE_HANDLER","IMPORT_CREATE_HANDLER","ContextPlugin","context","importExportCrud","importPages","category","categorySlug","zipFileUrl","meta","checkBasePermissions","rwd","pageBuilder","getCategory","NotFoundError","task","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","security","getIdentity","description","exportPages","ids","initialPageIds","revisionType","where","sort","search","pageIds","Array","isArray","length","pages","hasMoreItems","cursor","totalCount","listLatestPages","after","forEach","page","push","id","WebinyError","exportPagesDataKey","EXPORT_PAGES_FOLDER_KEY","i","pageId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex"],"sources":["pages.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport checkBasePermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions\";\nimport { ImportExportTaskStatus, PagesImportExportCrud, PbImportExportContext } from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as CreateHandlerPayload } from \"~/import/create\";\nimport { initialStats } from \"~/import/utils\";\nimport { Payload as ExportPagesProcessHandlerPayload } from \"~/export/process\";\nimport { EXPORT_PAGES_FOLDER_KEY } from \"~/export/utils\";\nimport { MetaResponse } from \"@webiny/api-page-builder/types\";\nimport { zeroPad } from \"@webiny/utils\";\n\nconst PERMISSION_NAME = \"pb.page\";\nconst EXPORT_PAGES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER as string;\nconst IMPORT_PAGES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER as string;\n\nexport default new ContextPlugin<PbImportExportContext>(context => {\n const importExportCrud: PagesImportExportCrud = {\n async importPages({ category: categorySlug, zipFileUrl, meta }) {\n await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n\n // Bail out early if category not found\n const category = await context.pageBuilder.getCategory(categorySlug);\n if (!category) {\n throw new NotFoundError(`Category with slug \"${categorySlug}\" not found.`);\n }\n\n // Create a task for import page\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING,\n input: {\n category: categorySlug,\n zipFileUrl\n }\n });\n /**\n * Import Pages\n * ImportPages\n * importPages\n */\n await invokeHandlerClient<CreateHandlerPayload>({\n context,\n name: IMPORT_PAGES_CREATE_HANDLER,\n payload: {\n category: categorySlug,\n zipFileUrl,\n task,\n type: \"page\",\n identity: context.security.getIdentity(),\n meta\n },\n description: \"Import Pages - create\"\n });\n\n return {\n task\n };\n },\n\n async exportPages({ ids: initialPageIds, revisionType, where, sort, search }) {\n await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n let pageIds: string[] = initialPageIds || [];\n // If no ids are provided then it means we want to export all pages\n if (!initialPageIds || (Array.isArray(initialPageIds) && initialPageIds.length === 0)) {\n pageIds = [];\n let pages = [];\n let meta: MetaResponse = {\n hasMoreItems: true,\n cursor: null,\n totalCount: 0\n };\n // Paginate pages\n while (meta.hasMoreItems) {\n [pages, meta] = await context.pageBuilder.listLatestPages({\n after: meta.cursor,\n where: where,\n sort: sort,\n search: search\n });\n // Save page ids\n pages.forEach(page => pageIds.push(page.id));\n }\n }\n\n if (pageIds.length === 0) {\n throw new WebinyError(\n \"Cannot export pages - no pages found for provided inputs.\",\n \"EMPTY_EXPORT_NO_PAGES_FOUND\"\n );\n }\n\n // Create the main task for page export.\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING\n });\n const exportPagesDataKey = `${EXPORT_PAGES_FOLDER_KEY}/${task.id}`;\n // For each page create a sub task and invoke the process handler.\n for (let i = 0; i < pageIds.length; i++) {\n const pageId = pageIds[i];\n // Create sub task.\n await context.pageBuilder.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n input: {\n pageId,\n exportPagesDataKey,\n revisionType\n }\n }\n );\n }\n // Update main task status.\n await context.pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(pageIds.length),\n input: {\n exportPagesDataKey,\n revisionType\n }\n });\n\n /**\n * Export Pages\n * ExportPages\n * exportPages\n */\n // Invoke handler.\n await invokeHandlerClient<ExportPagesProcessHandlerPayload>({\n context,\n name: EXPORT_PAGES_PROCESS_HANDLER,\n payload: {\n taskId: task.id,\n subTaskIndex: 1,\n type: \"page\",\n identity: context.security.getIdentity()\n },\n description: \"Export pages - process\"\n });\n\n return { task };\n }\n };\n // Modify context\n context.pageBuilder.pages = importExportCrud;\n});\n"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ContextPlugin } from "@webiny/api";
2
+ import { PbImportExportContext } from "../../types";
3
+ declare const _default: ContextPlugin<PbImportExportContext>;
4
+ export default _default;
@@ -0,0 +1,124 @@
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 _error = _interopRequireDefault(require("@webiny/error"));
9
+ var _api = require("@webiny/api");
10
+ var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
11
+ var _types = require("../../types");
12
+ var _client = require("../../client");
13
+ var _utils = require("../../import/utils");
14
+ var _utils2 = require("../../export/utils");
15
+ var _utils3 = require("@webiny/utils");
16
+ const PERMISSION_NAME = "pb.template";
17
+ const EXPORT_TEMPLATES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
18
+ const IMPORT_TEMPLATES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
19
+ var _default = new _api.ContextPlugin(context => {
20
+ const importExportCrud = {
21
+ async importTemplates({
22
+ zipFileUrl
23
+ }) {
24
+ await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
25
+ rwd: "w"
26
+ });
27
+
28
+ // Create a task for import template
29
+ const task = await context.pageBuilder.importExportTask.createTask({
30
+ status: _types.ImportExportTaskStatus.PENDING,
31
+ input: {
32
+ zipFileUrl
33
+ }
34
+ });
35
+ /**
36
+ * Import Templates
37
+ * ImportTemplates
38
+ * importTemplates
39
+ */
40
+ await (0, _client.invokeHandlerClient)({
41
+ context,
42
+ name: IMPORT_TEMPLATES_CREATE_HANDLER,
43
+ payload: {
44
+ zipFileUrl,
45
+ task,
46
+ type: "template",
47
+ identity: context.security.getIdentity()
48
+ },
49
+ description: "Import Templates - create"
50
+ });
51
+ return {
52
+ task
53
+ };
54
+ },
55
+ async exportTemplates({
56
+ ids: initialTemplateIds
57
+ }) {
58
+ await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
59
+ rwd: "w"
60
+ });
61
+ let templateIds = initialTemplateIds || [];
62
+ // If no ids are provided then it means we want to export all templates
63
+ if (!initialTemplateIds || Array.isArray(initialTemplateIds) && initialTemplateIds.length === 0) {
64
+ templateIds = [];
65
+ const templates = await context.pageBuilder.listPageTemplates();
66
+ // Save template ids
67
+ templates.forEach(template => templateIds.push(template.id));
68
+ }
69
+ if (templateIds.length === 0) {
70
+ throw new _error.default("Cannot export templates - no templates found for provided inputs.", "EMPTY_EXPORT_NO_TEMPLATES_FOUND");
71
+ }
72
+
73
+ // Create the main task for templates export.
74
+ const task = await context.pageBuilder.importExportTask.createTask({
75
+ status: _types.ImportExportTaskStatus.PENDING
76
+ });
77
+ const exportTemplatesDataKey = `${_utils2.EXPORT_TEMPLATES_FOLDER_KEY}/${task.id}`;
78
+ // For each template create a sub task and invoke the process handler.
79
+ for (let i = 0; i < templateIds.length; i++) {
80
+ const templateId = templateIds[i];
81
+ // Create sub task.
82
+ await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
83
+ status: _types.ImportExportTaskStatus.PENDING,
84
+ input: {
85
+ templateId,
86
+ exportTemplatesDataKey
87
+ }
88
+ });
89
+ }
90
+ // Update main task status.
91
+ await context.pageBuilder.importExportTask.updateTask(task.id, {
92
+ status: _types.ImportExportTaskStatus.PROCESSING,
93
+ stats: (0, _utils.initialStats)(templateIds.length),
94
+ input: {
95
+ exportTemplatesDataKey
96
+ }
97
+ });
98
+
99
+ /**
100
+ * Export Templates
101
+ * ExportTemplates
102
+ * exportTemplates
103
+ */
104
+ // Invoke handler.
105
+ await (0, _client.invokeHandlerClient)({
106
+ context,
107
+ name: EXPORT_TEMPLATES_PROCESS_HANDLER,
108
+ payload: {
109
+ taskId: task.id,
110
+ subTaskIndex: 1,
111
+ type: "template",
112
+ identity: context.security.getIdentity()
113
+ },
114
+ description: "Export templates - process"
115
+ });
116
+ return {
117
+ task
118
+ };
119
+ }
120
+ };
121
+ // Modify context
122
+ context.pageBuilder.templates = importExportCrud;
123
+ });
124
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PERMISSION_NAME","EXPORT_TEMPLATES_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_TEMPLATES_CREATE_HANDLER","IMPORT_CREATE_HANDLER","ContextPlugin","context","importExportCrud","importTemplates","zipFileUrl","checkBasePermissions","rwd","task","pageBuilder","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","security","getIdentity","description","exportTemplates","ids","initialTemplateIds","templateIds","Array","isArray","length","templates","listPageTemplates","forEach","template","push","id","WebinyError","exportTemplatesDataKey","EXPORT_TEMPLATES_FOLDER_KEY","i","templateId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex"],"sources":["templates.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport checkBasePermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions\";\nimport { ImportExportTaskStatus, TemplatesImportExportCrud, PbImportExportContext } from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as CreateHandlerPayload } from \"~/import/create\";\nimport { initialStats } from \"~/import/utils\";\nimport { Payload as ExportTemplatesProcessHandlerPayload } from \"~/export/process\";\nimport { EXPORT_TEMPLATES_FOLDER_KEY } from \"~/export/utils\";\nimport { zeroPad } from \"@webiny/utils\";\n\nconst PERMISSION_NAME = \"pb.template\";\nconst EXPORT_TEMPLATES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER as string;\nconst IMPORT_TEMPLATES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER as string;\n\nexport default new ContextPlugin<PbImportExportContext>(context => {\n const importExportCrud: TemplatesImportExportCrud = {\n async importTemplates({ zipFileUrl }) {\n await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n\n // Create a task for import template\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING,\n input: {\n zipFileUrl\n }\n });\n /**\n * Import Templates\n * ImportTemplates\n * importTemplates\n */\n await invokeHandlerClient<CreateHandlerPayload>({\n context,\n name: IMPORT_TEMPLATES_CREATE_HANDLER,\n payload: {\n zipFileUrl,\n task,\n type: \"template\",\n identity: context.security.getIdentity()\n },\n description: \"Import Templates - create\"\n });\n\n return {\n task\n };\n },\n\n async exportTemplates({ ids: initialTemplateIds }) {\n await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n let templateIds: string[] = initialTemplateIds || [];\n // If no ids are provided then it means we want to export all templates\n if (\n !initialTemplateIds ||\n (Array.isArray(initialTemplateIds) && initialTemplateIds.length === 0)\n ) {\n templateIds = [];\n const templates = await context.pageBuilder.listPageTemplates();\n // Save template ids\n templates.forEach(template => templateIds.push(template.id));\n }\n\n if (templateIds.length === 0) {\n throw new WebinyError(\n \"Cannot export templates - no templates found for provided inputs.\",\n \"EMPTY_EXPORT_NO_TEMPLATES_FOUND\"\n );\n }\n\n // Create the main task for templates export.\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING\n });\n const exportTemplatesDataKey = `${EXPORT_TEMPLATES_FOLDER_KEY}/${task.id}`;\n // For each template create a sub task and invoke the process handler.\n for (let i = 0; i < templateIds.length; i++) {\n const templateId = templateIds[i];\n // Create sub task.\n await context.pageBuilder.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n input: {\n templateId,\n exportTemplatesDataKey\n }\n }\n );\n }\n // Update main task status.\n await context.pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(templateIds.length),\n input: {\n exportTemplatesDataKey\n }\n });\n\n /**\n * Export Templates\n * ExportTemplates\n * exportTemplates\n */\n // Invoke handler.\n await invokeHandlerClient<ExportTemplatesProcessHandlerPayload>({\n context,\n name: EXPORT_TEMPLATES_PROCESS_HANDLER,\n payload: {\n taskId: task.id,\n subTaskIndex: 1,\n type: \"template\",\n identity: context.security.getIdentity()\n },\n description: \"Export templates - process\"\n });\n\n return { task };\n }\n };\n // Modify context\n context.pageBuilder.templates = importExportCrud;\n});\n"],"mappings":"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"}
package/graphql/crud.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { PageImportExportPluginsParams } from "./types";
2
- declare const _default: (params: PageImportExportPluginsParams) => import("@webiny/api").ContextPlugin<import("~/graphql/types").PbPageImportExportContext>[];
1
+ import { ImportExportPluginsParams } from "./types";
2
+ declare const _default: (params: ImportExportPluginsParams) => import("@webiny/api").ContextPlugin<import("~/graphql/types").PbImportExportContext>[];
3
3
  export default _default;
package/graphql/crud.js CHANGED
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
8
+ var _blocks = _interopRequireDefault(require("./crud/blocks.crud"));
9
+ var _forms = _interopRequireDefault(require("./crud/forms.crud"));
10
10
  var _pages = _interopRequireDefault(require("./crud/pages.crud"));
11
-
12
- var _pageImportExportTasks = _interopRequireDefault(require("./crud/pageImportExportTasks.crud"));
13
-
14
- var _default = params => [_pages.default, (0, _pageImportExportTasks.default)(params)];
15
-
11
+ var _templates = _interopRequireDefault(require("./crud/templates.crud"));
12
+ var _importExportTasks = _interopRequireDefault(require("./crud/importExportTasks.crud"));
13
+ var _default = params => [_blocks.default, _forms.default, _pages.default, _templates.default, (0, _importExportTasks.default)(params)];
16
14
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["params","pages","pageImportExportTask"],"sources":["crud.ts"],"sourcesContent":["import pages from \"./crud/pages.crud\";\nimport pageImportExportTask from \"./crud/pageImportExportTasks.crud\";\nimport { PageImportExportPluginsParams } from \"~/graphql/types\";\n\nexport default (params: PageImportExportPluginsParams) => [pages, pageImportExportTask(params)];\n"],"mappings":";;;;;;;;;AAAA;;AACA;;eAGgBA,MAAD,IAA2C,CAACC,cAAD,EAAQ,IAAAC,8BAAA,EAAqBF,MAArB,CAAR,C"}
1
+ {"version":3,"names":["params","blocks","forms","pages","templates","importExportTask"],"sources":["crud.ts"],"sourcesContent":["import blocks from \"./crud/blocks.crud\";\nimport forms from \"./crud/forms.crud\";\nimport pages from \"./crud/pages.crud\";\nimport templates from \"./crud/templates.crud\";\nimport importExportTask from \"./crud/importExportTasks.crud\";\nimport { ImportExportPluginsParams } from \"~/graphql/types\";\n\nexport default (params: ImportExportPluginsParams) => [\n blocks,\n forms,\n pages,\n templates,\n importExportTask(params as ImportExportPluginsParams)\n];\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AAA6D,eAG7CA,MAAiC,IAAK,CAClDC,eAAM,EACNC,cAAK,EACLC,cAAK,EACLC,kBAAS,EACT,IAAAC,0BAAgB,EAACL,MAAM,CAA8B,CACxD;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 PbExportBlockData {
14
+ task: PbImportExportTask
15
+ }
16
+
17
+ type PbExportBlockResponse {
18
+ data: PbExportBlockData
19
+ error: PbError
20
+ }
21
+
22
+ type PbImportBlockData {
23
+ task: PbImportExportTask
24
+ }
25
+
26
+ type PbImportBlockResponse {
27
+ data: PbImportBlockData
28
+ error: PbError
29
+ }
30
+
31
+ extend type PbMutation {
32
+ # Export blocks
33
+ exportBlocks(ids: [ID!], where: PbListPageBlocksWhereInput): PbExportBlockResponse
34
+
35
+ # Import blocks
36
+ importBlocks(category: String!, zipFileUrl: String): PbImportBlockResponse
37
+ }
38
+ `,
39
+ resolvers: {
40
+ PbMutation: {
41
+ exportBlocks: async (_, args, context) => {
42
+ return (0, _resolve.default)(() => context.pageBuilder.blocks.exportBlocks(args));
43
+ },
44
+ importBlocks: async (_, args, context) => {
45
+ return (0, _resolve.default)(() => context.pageBuilder.blocks.importBlocks(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","exportBlocks","_","args","context","resolve","pageBuilder","blocks","importBlocks"],"sources":["blocks.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 PbExportBlockData {\n task: PbImportExportTask\n }\n\n type PbExportBlockResponse {\n data: PbExportBlockData\n error: PbError\n }\n\n type PbImportBlockData {\n task: PbImportExportTask\n }\n\n type PbImportBlockResponse {\n data: PbImportBlockData\n error: PbError\n }\n\n extend type PbMutation {\n # Export blocks\n exportBlocks(ids: [ID!], where: PbListPageBlocksWhereInput): PbExportBlockResponse\n\n # Import blocks\n importBlocks(category: String!, zipFileUrl: String): PbImportBlockResponse\n }\n `,\n resolvers: {\n PbMutation: {\n exportBlocks: async (_, args: any, context) => {\n return resolve(() => context.pageBuilder.blocks.exportBlocks(args));\n },\n\n importBlocks: async (_, args: any, context) => {\n return resolve(() => context.pageBuilder.blocks.importBlocks(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,YAAY,EAAE,OAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAC3C,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,WAAW,CAACC,MAAM,CAACN,YAAY,CAACE,IAAI,CAAC,CAAC;QACvE,CAAC;QAEDK,YAAY,EAAE,OAAON,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAC3C,OAAO,IAAAC,gBAAO,EAAC,MAAMD,OAAO,CAACE,WAAW,CAACC,MAAM,CAACC,YAAY,CAACL,IAAI,CAAC,CAAC;QACvE;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,60 @@
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 FbExportFormData {
14
+ task: PbImportExportTask
15
+ }
16
+
17
+ type FbExportFormResponse {
18
+ data: FbExportFormData
19
+ error: FbError
20
+ }
21
+
22
+ type FbImportFormData {
23
+ task: PbImportExportTask
24
+ }
25
+
26
+ type FbImportFormResponse {
27
+ data: FbImportFormData
28
+ error: FbError
29
+ }
30
+
31
+ enum FbExportFormRevisionType {
32
+ published
33
+ latest
34
+ }
35
+
36
+ extend type FbMutation {
37
+ # Export forms
38
+ exportForms(
39
+ ids: [ID!]
40
+ revisionType: FbExportFormRevisionType!
41
+ ): FbExportFormResponse
42
+
43
+ # Import forms
44
+ importForms(zipFileUrl: String, meta: JSON): FbImportFormResponse
45
+ }
46
+ `,
47
+ resolvers: {
48
+ FbMutation: {
49
+ exportForms: async (_, args, context) => {
50
+ return (0, _resolve.default)(() => context.formBuilder.forms.exportForms(args));
51
+ },
52
+ importForms: async (_, args, context) => {
53
+ return (0, _resolve.default)(() => context.formBuilder.forms.importForms(args));
54
+ }
55
+ }
56
+ }
57
+ }
58
+ };
59
+ var _default = plugin;
60
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["plugin","type","schema","typeDefs","resolvers","FbMutation","exportForms","_","args","context","resolve","formBuilder","forms","importForms"],"sources":["forms.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 FbExportFormData {\n task: PbImportExportTask\n }\n\n type FbExportFormResponse {\n data: FbExportFormData\n error: FbError\n }\n\n type FbImportFormData {\n task: PbImportExportTask\n }\n\n type FbImportFormResponse {\n data: FbImportFormData\n error: FbError\n }\n\n enum FbExportFormRevisionType {\n published\n latest\n }\n\n extend type FbMutation {\n # Export forms\n exportForms(\n ids: [ID!]\n revisionType: FbExportFormRevisionType!\n ): FbExportFormResponse\n\n # Import forms\n importForms(zipFileUrl: String, meta: JSON): FbImportFormResponse\n }\n `,\n resolvers: {\n FbMutation: {\n exportForms: async (_, args: any, context) => {\n return resolve(() => context.formBuilder.forms.exportForms(args));\n },\n\n importForms: async (_, args: any, context) => {\n return resolve(() => context.formBuilder.forms.importForms(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,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;