@webiny/api-page-builder-import-export 0.0.0-unstable.3386f66516 → 0.0.0-unstable.3bc8100a7f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/client.d.ts +1 -1
  2. package/client.js +12 -25
  3. package/client.js.map +1 -1
  4. package/export/combine/blocksHandler.d.ts +2 -2
  5. package/export/combine/blocksHandler.js +14 -19
  6. package/export/combine/blocksHandler.js.map +1 -1
  7. package/export/combine/formsHandler.d.ts +6 -0
  8. package/export/combine/{pagesHandler.js → formsHandler.js} +25 -30
  9. package/export/combine/formsHandler.js.map +1 -0
  10. package/export/combine/index.d.ts +2 -2
  11. package/export/combine/index.js +24 -23
  12. package/export/combine/index.js.map +1 -1
  13. package/export/combine/templatesHandler.d.ts +2 -2
  14. package/export/combine/templatesHandler.js +14 -19
  15. package/export/combine/templatesHandler.js.map +1 -1
  16. package/export/pages/ExportPagesCleanup.d.ts +5 -0
  17. package/export/pages/ExportPagesCleanup.js +82 -0
  18. package/export/pages/ExportPagesCleanup.js.map +1 -0
  19. package/export/pages/ExportPagesController.d.ts +5 -0
  20. package/export/pages/ExportPagesController.js +31 -0
  21. package/export/pages/ExportPagesController.js.map +1 -0
  22. package/export/pages/ExportPagesZipPages.d.ts +5 -0
  23. package/export/pages/ExportPagesZipPages.js +23 -0
  24. package/export/pages/ExportPagesZipPages.js.map +1 -0
  25. package/export/pages/controller/CombineZippedPages.d.ts +5 -0
  26. package/export/pages/controller/CombineZippedPages.js +75 -0
  27. package/export/pages/controller/CombineZippedPages.js.map +1 -0
  28. package/export/pages/controller/CreateZipPagesTasks.d.ts +8 -0
  29. package/export/pages/controller/CreateZipPagesTasks.js +103 -0
  30. package/export/pages/controller/CreateZipPagesTasks.js.map +1 -0
  31. package/export/pages/controller/ProcessZipPagesTasks.d.ts +6 -0
  32. package/export/pages/controller/ProcessZipPagesTasks.js +61 -0
  33. package/export/pages/controller/ProcessZipPagesTasks.js.map +1 -0
  34. package/export/pages/types.d.ts +53 -0
  35. package/export/pages/types.js +26 -0
  36. package/export/pages/types.js.map +1 -0
  37. package/export/pages/utils.d.ts +2 -0
  38. package/export/pages/utils.js +13 -0
  39. package/export/pages/utils.js.map +1 -0
  40. package/export/pages/zipPages/ZipPages.d.ts +5 -0
  41. package/export/pages/zipPages/ZipPages.js +100 -0
  42. package/export/pages/zipPages/ZipPages.js.map +1 -0
  43. package/export/pages/zipPages/ZipPagesDataManager.d.ts +14 -0
  44. package/export/pages/zipPages/ZipPagesDataManager.js +46 -0
  45. package/export/pages/zipPages/ZipPagesDataManager.js.map +1 -0
  46. package/export/pages/zipPages/getPageFactory.d.ts +4 -0
  47. package/export/pages/zipPages/getPageFactory.js +38 -0
  48. package/export/pages/zipPages/getPageFactory.js.map +1 -0
  49. package/export/process/blocksHandler.d.ts +2 -2
  50. package/export/process/blocksHandler.js +29 -36
  51. package/export/process/blocksHandler.js.map +1 -1
  52. package/export/process/exporters/BlockExporter.d.ts +12 -0
  53. package/export/process/exporters/BlockExporter.js +57 -0
  54. package/export/process/exporters/BlockExporter.js.map +1 -0
  55. package/export/process/exporters/FormExporter.d.ts +9 -0
  56. package/export/process/exporters/FormExporter.js +36 -0
  57. package/export/process/exporters/FormExporter.js.map +1 -0
  58. package/export/process/exporters/PageExporter.d.ts +18 -0
  59. package/export/process/exporters/PageExporter.js +59 -0
  60. package/export/process/exporters/PageExporter.js.map +1 -0
  61. package/export/process/exporters/PageTemplateExporter.d.ts +11 -0
  62. package/export/process/exporters/PageTemplateExporter.js +58 -0
  63. package/export/process/exporters/PageTemplateExporter.js.map +1 -0
  64. package/export/process/formsHandler.d.ts +6 -0
  65. package/export/process/{pagesHandler.js → formsHandler.js} +48 -63
  66. package/export/process/formsHandler.js.map +1 -0
  67. package/export/process/index.d.ts +2 -2
  68. package/export/process/index.js +24 -23
  69. package/export/process/index.js.map +1 -1
  70. package/export/process/templatesHandler.d.ts +2 -2
  71. package/export/process/templatesHandler.js +29 -37
  72. package/export/process/templatesHandler.js.map +1 -1
  73. package/export/s3Stream.d.ts +16 -11
  74. package/export/s3Stream.js +27 -42
  75. package/export/s3Stream.js.map +1 -1
  76. package/export/utils.d.ts +11 -9
  77. package/export/utils.js +54 -58
  78. package/export/utils.js.map +1 -1
  79. package/export/zipper.d.ts +7 -6
  80. package/export/zipper.js +46 -62
  81. package/export/zipper.js.map +1 -1
  82. package/graphql/crud/blocks.crud.d.ts +1 -1
  83. package/graphql/crud/blocks.crud.js +65 -62
  84. package/graphql/crud/blocks.crud.js.map +1 -1
  85. package/graphql/crud/forms.crud.d.ts +4 -0
  86. package/graphql/crud/forms.crud.js +162 -0
  87. package/graphql/crud/forms.crud.js.map +1 -0
  88. package/graphql/crud/importExportTasks.crud.d.ts +2 -2
  89. package/graphql/crud/importExportTasks.crud.js +150 -165
  90. package/graphql/crud/importExportTasks.crud.js.map +1 -1
  91. package/graphql/crud/pages.crud.d.ts +1 -1
  92. package/graphql/crud/pages.crud.js +241 -142
  93. package/graphql/crud/pages.crud.js.map +1 -1
  94. package/graphql/crud/templates.crud.d.ts +1 -1
  95. package/graphql/crud/templates.crud.js +63 -47
  96. package/graphql/crud/templates.crud.js.map +1 -1
  97. package/graphql/crud.d.ts +2 -2
  98. package/graphql/crud.js +4 -8
  99. package/graphql/crud.js.map +1 -1
  100. package/graphql/graphql/blocks.gql.d.ts +2 -2
  101. package/graphql/graphql/blocks.gql.js +8 -13
  102. package/graphql/graphql/blocks.gql.js.map +1 -1
  103. package/graphql/graphql/forms.gql.d.ts +4 -0
  104. package/graphql/graphql/forms.gql.js +60 -0
  105. package/graphql/graphql/forms.gql.js.map +1 -0
  106. package/graphql/graphql/importExportTasks.gql.d.ts +2 -2
  107. package/graphql/graphql/importExportTasks.gql.js +8 -13
  108. package/graphql/graphql/importExportTasks.gql.js.map +1 -1
  109. package/graphql/graphql/pages.gql.d.ts +2 -2
  110. package/graphql/graphql/pages.gql.js +104 -20
  111. package/graphql/graphql/pages.gql.js.map +1 -1
  112. package/graphql/graphql/templates.gql.d.ts +2 -2
  113. package/graphql/graphql/templates.gql.js +7 -12
  114. package/graphql/graphql/templates.gql.js.map +1 -1
  115. package/graphql/graphql/utils/resolve.d.ts +3 -3
  116. package/graphql/graphql/utils/resolve.js +15 -7
  117. package/graphql/graphql/utils/resolve.js.map +1 -1
  118. package/graphql/graphql.d.ts +1 -1
  119. package/graphql/graphql.js +3 -7
  120. package/graphql/graphql.js.map +1 -1
  121. package/graphql/index.d.ts +2 -2
  122. package/graphql/index.js +4 -6
  123. package/graphql/index.js.map +1 -1
  124. package/graphql/types.d.ts +194 -31
  125. package/graphql/types.js +3 -1
  126. package/graphql/types.js.map +1 -1
  127. package/import/constants.d.ts +3 -0
  128. package/import/constants.js +13 -0
  129. package/import/constants.js.map +1 -0
  130. package/import/create/blocksHandler.d.ts +2 -2
  131. package/import/create/blocksHandler.js +13 -22
  132. package/import/create/blocksHandler.js.map +1 -1
  133. package/import/create/formsHandler.d.ts +3 -0
  134. package/import/create/formsHandler.js +105 -0
  135. package/import/create/formsHandler.js.map +1 -0
  136. package/import/create/index.d.ts +2 -2
  137. package/import/create/index.js +24 -23
  138. package/import/create/index.js.map +1 -1
  139. package/import/create/pagesHandler.d.ts +2 -2
  140. package/import/create/pagesHandler.js +12 -19
  141. package/import/create/pagesHandler.js.map +1 -1
  142. package/import/create/templatesHandler.d.ts +2 -2
  143. package/import/create/templatesHandler.js +12 -19
  144. package/import/create/templatesHandler.js.map +1 -1
  145. package/import/pages/ImportPagesController.d.ts +5 -0
  146. package/import/pages/ImportPagesController.js +29 -0
  147. package/import/pages/ImportPagesController.js.map +1 -0
  148. package/import/pages/ImportPagesProcessPages.d.ts +6 -0
  149. package/import/pages/ImportPagesProcessPages.js +112 -0
  150. package/import/pages/ImportPagesProcessPages.js.map +1 -0
  151. package/import/pages/controller/ImportPagesProcessPagesChecker.d.ts +6 -0
  152. package/import/pages/controller/ImportPagesProcessPagesChecker.js +40 -0
  153. package/import/pages/controller/ImportPagesProcessPagesChecker.js.map +1 -0
  154. package/import/pages/controller/ImportPagesProcessZipFile.d.ts +5 -0
  155. package/import/pages/controller/ImportPagesProcessZipFile.js +71 -0
  156. package/import/pages/controller/ImportPagesProcessZipFile.js.map +1 -0
  157. package/import/pages/process/importPage.d.ts +10 -0
  158. package/import/pages/process/importPage.js +94 -0
  159. package/import/pages/process/importPage.js.map +1 -0
  160. package/import/pages/types.d.ts +48 -0
  161. package/import/pages/types.js +20 -0
  162. package/import/pages/types.js.map +1 -0
  163. package/import/process/blocks/ElementIdsProcessor.d.ts +5 -0
  164. package/import/process/blocks/ElementIdsProcessor.js +26 -0
  165. package/import/process/blocks/ElementIdsProcessor.js.map +1 -0
  166. package/import/process/{blocksHandler.d.ts → blocks/blocksHandler.d.ts} +2 -2
  167. package/import/process/{blocksHandler.js → blocks/blocksHandler.js} +32 -38
  168. package/import/process/blocks/blocksHandler.js.map +1 -0
  169. package/import/process/blocks/importBlock.d.ts +11 -0
  170. package/import/process/blocks/importBlock.js +101 -0
  171. package/import/process/blocks/importBlock.js.map +1 -0
  172. package/import/process/forms/formsHandler.d.ts +3 -0
  173. package/import/process/{pagesHandler.js → forms/formsHandler.js} +54 -57
  174. package/import/process/forms/formsHandler.js.map +1 -0
  175. package/import/process/forms/importForm.d.ts +9 -0
  176. package/import/process/forms/importForm.js +47 -0
  177. package/import/process/forms/importForm.js.map +1 -0
  178. package/import/process/index.d.ts +2 -2
  179. package/import/process/index.js +26 -25
  180. package/import/process/index.js.map +1 -1
  181. package/import/process/templates/importTemplate.d.ts +11 -0
  182. package/import/process/templates/importTemplate.js +70 -0
  183. package/import/process/templates/importTemplate.js.map +1 -0
  184. package/import/process/{templatesHandler.d.ts → templates/templatesHandler.d.ts} +2 -2
  185. package/import/process/{templatesHandler.js → templates/templatesHandler.js} +36 -34
  186. package/import/process/templates/templatesHandler.js.map +1 -0
  187. package/import/utils/deleteS3Folder.d.ts +1 -0
  188. package/import/utils/deleteS3Folder.js +21 -0
  189. package/import/utils/deleteS3Folder.js.map +1 -0
  190. package/import/utils/extractAndUploadZipFileContents.d.ts +7 -0
  191. package/import/utils/extractAndUploadZipFileContents.js +126 -0
  192. package/import/utils/extractAndUploadZipFileContents.js.map +1 -0
  193. package/import/utils/extractZipAndUploadToS3.d.ts +2 -0
  194. package/import/utils/extractZipAndUploadToS3.js +100 -0
  195. package/import/utils/extractZipAndUploadToS3.js.map +1 -0
  196. package/import/utils/getFileNameWithoutExt.d.ts +1 -0
  197. package/import/utils/getFileNameWithoutExt.js +13 -0
  198. package/import/utils/getFileNameWithoutExt.js.map +1 -0
  199. package/import/utils/index.d.ts +9 -0
  200. package/import/utils/index.js +106 -0
  201. package/import/utils/index.js.map +1 -0
  202. package/import/utils/initialStats.d.ts +7 -0
  203. package/import/utils/initialStats.js +18 -0
  204. package/import/utils/initialStats.js.map +1 -0
  205. package/import/utils/prepareDataDirMap.d.ts +6 -0
  206. package/import/utils/prepareDataDirMap.js +31 -0
  207. package/import/utils/prepareDataDirMap.js.map +1 -0
  208. package/import/utils/updateFilesInData.d.ts +8 -0
  209. package/import/utils/updateFilesInData.js +51 -0
  210. package/import/utils/updateFilesInData.js.map +1 -0
  211. package/import/utils/uploadAssets.d.ts +10 -0
  212. package/import/utils/uploadAssets.js +92 -0
  213. package/import/utils/uploadAssets.js.map +1 -0
  214. package/import/utils/uploadFilesFromS3.d.ts +3 -0
  215. package/import/utils/uploadFilesFromS3.js +21 -0
  216. package/import/utils/uploadFilesFromS3.js.map +1 -0
  217. package/mockSecurity.d.ts +1 -1
  218. package/mockSecurity.js +2 -3
  219. package/mockSecurity.js.map +1 -1
  220. package/package.json +36 -52
  221. package/tasks/common/ChildTasksCleanup.d.ts +12 -0
  222. package/tasks/common/ChildTasksCleanup.js +64 -0
  223. package/tasks/common/ChildTasksCleanup.js.map +1 -0
  224. package/tasks/index.d.ts +1 -0
  225. package/tasks/index.js +13 -0
  226. package/tasks/index.js.map +1 -0
  227. package/tasks/pages/exportPagesCleanupTask.d.ts +3 -0
  228. package/tasks/pages/exportPagesCleanupTask.js +36 -0
  229. package/tasks/pages/exportPagesCleanupTask.js.map +1 -0
  230. package/tasks/pages/exportPagesControllerTask.d.ts +3 -0
  231. package/tasks/pages/exportPagesControllerTask.js +83 -0
  232. package/tasks/pages/exportPagesControllerTask.js.map +1 -0
  233. package/tasks/pages/exportPagesZipPagesTask.d.ts +3 -0
  234. package/tasks/pages/exportPagesZipPagesTask.js +39 -0
  235. package/tasks/pages/exportPagesZipPagesTask.js.map +1 -0
  236. package/tasks/pages/importPagesControllerTask.d.ts +3 -0
  237. package/tasks/pages/importPagesControllerTask.js +39 -0
  238. package/tasks/pages/importPagesControllerTask.js.map +1 -0
  239. package/tasks/pages/importPagesProcessPageTask.d.ts +3 -0
  240. package/tasks/pages/importPagesProcessPageTask.js +39 -0
  241. package/tasks/pages/importPagesProcessPageTask.js.map +1 -0
  242. package/tasks/pages/index.d.ts +1 -0
  243. package/tasks/pages/index.js +17 -0
  244. package/tasks/pages/index.js.map +1 -0
  245. package/types.d.ts +23 -2
  246. package/types.js +60 -13
  247. package/types.js.map +1 -1
  248. package/utils/ZipFiles.d.ts +11 -0
  249. package/utils/ZipFiles.js +124 -0
  250. package/utils/ZipFiles.js.map +1 -0
  251. package/export/combine/pagesHandler.d.ts +0 -6
  252. package/export/combine/pagesHandler.js.map +0 -1
  253. package/export/process/pagesHandler.d.ts +0 -6
  254. package/export/process/pagesHandler.js.map +0 -1
  255. package/import/process/blocksHandler.js.map +0 -1
  256. package/import/process/pagesHandler.d.ts +0 -3
  257. package/import/process/pagesHandler.js.map +0 -1
  258. package/import/process/templatesHandler.js.map +0 -1
  259. package/import/utils.d.ts +0 -56
  260. package/import/utils.js +0 -696
  261. package/import/utils.js.map +0 -1
@@ -1 +1 @@
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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"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_pubsub","_handlerGraphql","_api","_PagesPermissions","_types","_types2","_default","exports","default","ContextPlugin","context","pagesPermissions","PagesPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","onPagesBeforeExport","createTopic","onPagesAfterExport","onPagesBeforeImport","onPagesAfterImport","pageBuilder","pages","getExportPagesTask","id","task","tasks","getTask","definitionId","PageExportTask","Controller","totalPages","input","data","url","output","error","items","subTasks","listTasks","where","parentId","ZipPages","limit","stats","completed","failed","subTask","Object","keys","done","push","status","taskStatus","total","length","getImportPagesTask","PageImportTask","Process","reduce","result","item","importPages","params","category","categorySlug","zipFileUrl","meta","ensure","rwd","getCategory","NotFoundError","identity","publish","trigger","definition","displayName","type","createdOn","createdBy","ex","console","exportPages","listPages","revisionType","conditions","listPublishedPages","listLatestPages","totalCount","WebinyError","listImportedPages","taskId","pageIdList","collection","pid_in","map","page","title","version"],"sources":["pages.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport type {\n ExportPagesParams,\n OnPagesAfterExportTopicParams,\n OnPagesAfterImportTopicParams,\n OnPagesBeforeExportTopicParams,\n OnPagesBeforeImportTopicParams,\n PbExportPagesTaskData,\n PbImportExportContext,\n PbImportPagesTaskData,\n PbImportPagesTaskStats\n} from \"~/types\";\nimport { PagesPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions\";\nimport type {\n IExportPagesControllerInput,\n IExportPagesControllerOutput,\n IExportPagesZipPagesInput,\n IExportPagesZipPagesOutput\n} from \"~/export/pages/types\";\nimport { PageExportTask } from \"~/export/pages/types\";\nimport type {\n IImportPagesControllerInput,\n IImportPagesControllerOutput,\n IImportPagesProcessPagesInput,\n IImportPagesProcessPagesOutput\n} from \"~/import/pages/types\";\nimport { PageImportTask } from \"~/import/pages/types\";\n\nexport default new ContextPlugin<PbImportExportContext>(context => {\n const pagesPermissions = new PagesPermissions({\n getPermissions: () => context.security.getPermissions(\"pb.page\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n // Export\n const onPagesBeforeExport = createTopic<OnPagesBeforeExportTopicParams>(\n \"PageBuilder.onPagesBeforeExport\"\n );\n const onPagesAfterExport = createTopic<OnPagesAfterExportTopicParams>(\n \"PageBuilder.onPagesAfterExport\"\n );\n\n // Import\n const onPagesBeforeImport = createTopic<OnPagesBeforeImportTopicParams>(\n \"PageBuilder.onPagesBeforeImport\"\n );\n const onPagesAfterImport = createTopic<OnPagesAfterImportTopicParams>(\n \"PageBuilder.onPagesAfterImport\"\n );\n\n context.pageBuilder.pages = {\n onPagesBeforeExport,\n onPagesAfterExport,\n onPagesBeforeImport,\n onPagesAfterImport,\n /**\n * Background task implementation.\n */\n getExportPagesTask: async id => {\n const task = await context.tasks.getTask<\n IExportPagesControllerInput,\n IExportPagesControllerOutput\n >(id);\n\n if (!task || task.definitionId !== PageExportTask.Controller) {\n return null;\n }\n\n const totalPages = task.input.totalPages || 0;\n\n const data: PbExportPagesTaskData = {\n url: task.output?.url,\n error: task.output?.error\n };\n\n const { items: subTasks } = await context.tasks.listTasks<\n IExportPagesZipPagesInput,\n IExportPagesZipPagesOutput\n >({\n where: {\n parentId: task.id,\n definitionId: PageExportTask.ZipPages\n },\n limit: 10000\n });\n\n const stats = {\n completed: [] as string[],\n failed: [] as string[]\n };\n\n for (const subTask of subTasks) {\n if (!subTask.output) {\n continue;\n }\n const completed = Object.keys(subTask.output.done || []);\n const failed = subTask.output.failed || [];\n\n stats.completed.push(...completed);\n stats.failed.push(...failed);\n }\n\n return {\n ...task,\n status: task.taskStatus,\n data,\n stats: {\n total: totalPages,\n completed: stats.completed.length,\n failed: stats.failed.length\n }\n };\n },\n async getImportPagesTask(id) {\n const task = await context.tasks.getTask<\n IImportPagesControllerInput,\n IImportPagesControllerOutput\n >(id);\n\n if (!task || task.definitionId !== PageImportTask.Controller) {\n return null;\n }\n\n const data: PbImportPagesTaskData = {\n error: task.output?.error\n };\n\n const { items: subTasks } = await context.tasks.listTasks<\n IImportPagesProcessPagesInput,\n IImportPagesProcessPagesOutput\n >({\n where: {\n parentId: task.id,\n definitionId: PageImportTask.Process\n },\n limit: 10000\n });\n\n const stats = subTasks.reduce<PbImportPagesTaskStats>(\n (result, item) => {\n if (!item.output) {\n return result;\n }\n return {\n ...result,\n completed: result.completed + (item.output.done || []).length,\n failed: result.failed + (item.output.failed || []).length\n };\n },\n {\n total: task.output?.total || 0,\n completed: 0,\n failed: 0\n }\n );\n\n return {\n ...task,\n status: task.taskStatus,\n data,\n stats\n };\n },\n async importPages(params) {\n const { category: categorySlug, zipFileUrl, meta } = params;\n await pagesPermissions.ensure({ rwd: \"w\" });\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 const identity = context.security.getIdentity();\n\n try {\n await onPagesBeforeImport.publish({ params });\n const task = await context.tasks.trigger<IImportPagesControllerInput>({\n definition: PageImportTask.Controller,\n input: {\n category: categorySlug,\n zipFileUrl,\n meta,\n identity: {\n id: identity.id,\n displayName: identity.displayName || \"unknown\",\n type: identity.type\n }\n }\n });\n await onPagesAfterImport.publish({ params });\n return {\n task: {\n id: task.id,\n status: task.taskStatus,\n data: {},\n createdOn: task.createdOn,\n createdBy: task.createdBy,\n stats: {\n total: 0,\n completed: 0,\n failed: 0\n }\n }\n };\n } catch (ex) {\n console.error(ex);\n throw ex;\n }\n },\n\n async exportPages(params) {\n await pagesPermissions.ensure({ rwd: \"w\" });\n\n const listPages = (input: ExportPagesParams) => {\n const { revisionType, ...conditions } = input;\n if (revisionType === \"published\") {\n return context.pageBuilder.listPublishedPages(conditions);\n }\n return context.pageBuilder.listLatestPages(conditions);\n };\n /**\n * We just need to check if even a single page exists for the provided params.\n * If not, no point in starting a background task.\n */\n const [pages, meta] = await listPages({\n ...params,\n limit: 1\n });\n if (!pages.length || meta.totalCount === 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 try {\n await onPagesBeforeExport.publish({ params });\n const task = await context.tasks.trigger<IExportPagesControllerInput>({\n input: {\n ...params,\n type: params.revisionType,\n totalPages: meta.totalCount\n },\n definition: PageExportTask.Controller\n });\n await onPagesAfterExport.publish({ params });\n return {\n task: {\n id: task.id,\n status: task.taskStatus,\n data: {},\n createdOn: task.createdOn,\n createdBy: task.createdBy,\n stats: {\n total: meta.totalCount,\n completed: 0,\n failed: 0\n }\n }\n };\n } catch (ex) {\n console.error(ex);\n throw ex;\n }\n },\n listImportedPages: async taskId => {\n const task = await context.tasks.getTask<\n IImportPagesControllerInput,\n IImportPagesControllerOutput\n >(taskId);\n\n if (!task || task.definitionId !== PageImportTask.Controller) {\n throw new NotFoundError(`Task with id \"${taskId}\" not found.`);\n }\n const { items: subTasks } = await context.tasks.listTasks<\n IImportPagesProcessPagesInput,\n IImportPagesProcessPagesOutput\n >({\n where: {\n parentId: task.id,\n definitionId: PageImportTask.Process\n },\n limit: 10000\n });\n const pageIdList = subTasks.reduce<string[]>((collection, subTask) => {\n if (!subTask.output?.pageIdList) {\n return collection;\n }\n collection.push(...subTask.output.pageIdList);\n return collection;\n }, []);\n\n const result = await context.pageBuilder.listLatestPages({\n where: {\n pid_in: pageIdList\n },\n limit: 10000\n });\n\n const [pages] = result;\n return pages.map(page => {\n return {\n id: page.id,\n title: page.title,\n version: page.version\n };\n });\n }\n };\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import { ContextPlugin } from "@webiny/api";
2
- import { PbImportExportContext } from "../../types";
2
+ import type { PbImportExportContext } from "../../types";
3
3
  declare const _default: ContextPlugin<PbImportExportContext>;
4
4
  export default _default;
@@ -1,41 +1,49 @@
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
-
9
+ var _pubsub = require("@webiny/pubsub");
12
10
  var _api = require("@webiny/api");
13
-
14
- var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
15
-
16
11
  var _types = require("../../types");
17
-
18
12
  var _client = require("../../client");
19
-
20
13
  var _utils = require("../../import/utils");
21
-
22
- var _utils2 = require("../../export/utils");
23
-
24
- var _utils3 = require("@webiny/utils");
25
-
26
- const PERMISSION_NAME = "pb.template";
14
+ var _utils2 = require("@webiny/utils");
15
+ var _PageTemplatesPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PageTemplatesPermissions");
16
+ const EXPORT_TEMPLATES_FOLDER_KEY = "WEBINY_PB_EXPORT_TEMPLATE";
27
17
  const EXPORT_TEMPLATES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
28
18
  const IMPORT_TEMPLATES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
29
-
30
- var _default = new _api.ContextPlugin(context => {
19
+ var _default = exports.default = new _api.ContextPlugin(context => {
20
+ const pagesPermissions = new _PageTemplatesPermissions.PageTemplatesPermissions({
21
+ getPermissions: () => context.security.getPermissions("pb.template"),
22
+ getIdentity: context.security.getIdentity,
23
+ fullAccessPermissionName: "pb.*"
24
+ });
25
+
26
+ // Export
27
+ const onTemplatesBeforeExport = (0, _pubsub.createTopic)("PageBuilder.onTemplatesBeforeExport");
28
+ const onTemplatesAfterExport = (0, _pubsub.createTopic)("PageBuilder.onTemplatesAfterExport");
29
+
30
+ // Import
31
+ const onTemplatesBeforeImport = (0, _pubsub.createTopic)("PageBuilder.onTemplatesBeforeImport");
32
+ const onTemplatesAfterImport = (0, _pubsub.createTopic)("PageBuilder.onTemplatesAfterImport");
31
33
  const importExportCrud = {
32
- async importTemplates({
33
- zipFileUrl
34
- }) {
35
- await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
34
+ onTemplatesBeforeExport,
35
+ onTemplatesAfterExport,
36
+ onTemplatesBeforeImport,
37
+ onTemplatesAfterImport,
38
+ async importTemplates(params) {
39
+ const {
40
+ zipFileUrl
41
+ } = params;
42
+ await pagesPermissions.ensure({
36
43
  rwd: "w"
37
- }); // Create a task for import template
44
+ });
38
45
 
46
+ // Create a task for import template
39
47
  const task = await context.pageBuilder.importExportTask.createTask({
40
48
  status: _types.ImportExportTaskStatus.PENDING,
41
49
  input: {
@@ -47,7 +55,9 @@ var _default = new _api.ContextPlugin(context => {
47
55
  * ImportTemplates
48
56
  * importTemplates
49
57
  */
50
-
58
+ await onTemplatesBeforeImport.publish({
59
+ params
60
+ });
51
61
  await (0, _client.invokeHandlerClient)({
52
62
  context,
53
63
  name: IMPORT_TEMPLATES_CREATE_HANDLER,
@@ -59,49 +69,50 @@ var _default = new _api.ContextPlugin(context => {
59
69
  },
60
70
  description: "Import Templates - create"
61
71
  });
72
+ await onTemplatesAfterImport.publish({
73
+ params
74
+ });
62
75
  return {
63
76
  task
64
77
  };
65
78
  },
66
-
67
- async exportTemplates({
68
- ids: initialTemplateIds
69
- }) {
70
- await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
79
+ async exportTemplates(params) {
80
+ const {
81
+ ids: initialTemplateIds
82
+ } = params;
83
+ await pagesPermissions.ensure({
71
84
  rwd: "w"
72
85
  });
73
- let templateIds = initialTemplateIds || []; // If no ids are provided then it means we want to export all templates
74
-
86
+ let templateIds = initialTemplateIds || [];
87
+ // If no ids are provided then it means we want to export all templates
75
88
  if (!initialTemplateIds || Array.isArray(initialTemplateIds) && initialTemplateIds.length === 0) {
76
89
  templateIds = [];
77
- const templates = await context.pageBuilder.listPageTemplates(); // Save template ids
78
-
90
+ const templates = await context.pageBuilder.listPageTemplates();
91
+ // Save template ids
79
92
  templates.forEach(template => templateIds.push(template.id));
80
93
  }
81
-
82
94
  if (templateIds.length === 0) {
83
95
  throw new _error.default("Cannot export templates - no templates found for provided inputs.", "EMPTY_EXPORT_NO_TEMPLATES_FOUND");
84
- } // Create the main task for templates export.
85
-
96
+ }
86
97
 
98
+ // Create the main task for templates export.
87
99
  const task = await context.pageBuilder.importExportTask.createTask({
88
100
  status: _types.ImportExportTaskStatus.PENDING
89
101
  });
90
- const exportTemplatesDataKey = `${_utils2.EXPORT_TEMPLATES_FOLDER_KEY}/${task.id}`; // For each template create a sub task and invoke the process handler.
91
-
102
+ const exportTemplatesDataKey = `${EXPORT_TEMPLATES_FOLDER_KEY}/${task.id}`;
103
+ // For each template create a sub task and invoke the process handler.
92
104
  for (let i = 0; i < templateIds.length; i++) {
93
- const templateId = templateIds[i]; // Create sub task.
94
-
95
- await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
105
+ const templateId = templateIds[i];
106
+ // Create sub task.
107
+ await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
96
108
  status: _types.ImportExportTaskStatus.PENDING,
97
109
  input: {
98
110
  templateId,
99
111
  exportTemplatesDataKey
100
112
  }
101
113
  });
102
- } // Update main task status.
103
-
104
-
114
+ }
115
+ // Update main task status.
105
116
  await context.pageBuilder.importExportTask.updateTask(task.id, {
106
117
  status: _types.ImportExportTaskStatus.PROCESSING,
107
118
  stats: (0, _utils.initialStats)(templateIds.length),
@@ -109,13 +120,16 @@ var _default = new _api.ContextPlugin(context => {
109
120
  exportTemplatesDataKey
110
121
  }
111
122
  });
123
+
112
124
  /**
113
125
  * Export Templates
114
126
  * ExportTemplates
115
127
  * exportTemplates
116
128
  */
129
+ await onTemplatesBeforeExport.publish({
130
+ params
131
+ });
117
132
  // Invoke handler.
118
-
119
133
  await (0, _client.invokeHandlerClient)({
120
134
  context,
121
135
  name: EXPORT_TEMPLATES_PROCESS_HANDLER,
@@ -127,14 +141,16 @@ var _default = new _api.ContextPlugin(context => {
127
141
  },
128
142
  description: "Export templates - process"
129
143
  });
144
+ await onTemplatesAfterExport.publish({
145
+ params
146
+ });
130
147
  return {
131
148
  task
132
149
  };
133
150
  }
134
-
135
- }; // Modify context
136
-
151
+ };
152
+ // Modify context
137
153
  context.pageBuilder.templates = importExportCrud;
138
154
  });
139
155
 
140
- exports.default = _default;
156
+ //# sourceMappingURL=templates.crud.js.map
@@ -1 +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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"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_pubsub","_api","_types","_client","_utils","_utils2","_PageTemplatesPermissions","EXPORT_TEMPLATES_FOLDER_KEY","EXPORT_TEMPLATES_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_TEMPLATES_CREATE_HANDLER","IMPORT_CREATE_HANDLER","_default","exports","default","ContextPlugin","context","pagesPermissions","PageTemplatesPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","onTemplatesBeforeExport","createTopic","onTemplatesAfterExport","onTemplatesBeforeImport","onTemplatesAfterImport","importExportCrud","importTemplates","params","zipFileUrl","ensure","rwd","task","pageBuilder","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","publish","invokeHandlerClient","name","payload","type","identity","description","exportTemplates","ids","initialTemplateIds","templateIds","Array","isArray","length","templates","listPageTemplates","forEach","template","push","id","WebinyError","exportTemplatesDataKey","i","templateId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex"],"sources":["templates.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport type {\n TemplatesImportExportCrud,\n PbImportExportContext,\n OnTemplatesBeforeExportTopicParams,\n OnTemplatesAfterExportTopicParams,\n OnTemplatesBeforeImportTopicParams,\n OnTemplatesAfterImportTopicParams\n} from \"~/types\";\nimport { ImportExportTaskStatus } from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport type { Payload as CreateHandlerPayload } from \"~/import/create\";\nimport { initialStats } from \"~/import/utils\";\nimport type { Payload as ExportTemplatesProcessHandlerPayload } from \"~/export/process\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { PageTemplatesPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PageTemplatesPermissions\";\n\nconst EXPORT_TEMPLATES_FOLDER_KEY = \"WEBINY_PB_EXPORT_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 pagesPermissions = new PageTemplatesPermissions({\n getPermissions: () => context.security.getPermissions(\"pb.template\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n // Export\n const onTemplatesBeforeExport = createTopic<OnTemplatesBeforeExportTopicParams>(\n \"PageBuilder.onTemplatesBeforeExport\"\n );\n const onTemplatesAfterExport = createTopic<OnTemplatesAfterExportTopicParams>(\n \"PageBuilder.onTemplatesAfterExport\"\n );\n\n // Import\n const onTemplatesBeforeImport = createTopic<OnTemplatesBeforeImportTopicParams>(\n \"PageBuilder.onTemplatesBeforeImport\"\n );\n const onTemplatesAfterImport = createTopic<OnTemplatesAfterImportTopicParams>(\n \"PageBuilder.onTemplatesAfterImport\"\n );\n\n const importExportCrud: TemplatesImportExportCrud = {\n onTemplatesBeforeExport,\n onTemplatesAfterExport,\n onTemplatesBeforeImport,\n onTemplatesAfterImport,\n async importTemplates(params) {\n const { zipFileUrl } = params;\n await pagesPermissions.ensure({ rwd: \"w\" });\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 onTemplatesBeforeImport.publish({ params });\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 await onTemplatesAfterImport.publish({ params });\n\n return {\n task\n };\n },\n\n async exportTemplates(params) {\n const { ids: initialTemplateIds } = params;\n await pagesPermissions.ensure({ 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 await onTemplatesBeforeExport.publish({ params });\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 await onTemplatesAfterExport.publish({ params });\n\n return { task };\n }\n };\n // Modify context\n context.pageBuilder.templates = importExportCrud;\n});\n"],"mappings":"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","ignoreList":[]}
package/graphql/crud.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { ImportExportPluginsParams } from "./types";
2
- declare const _default: (params: ImportExportPluginsParams) => import("@webiny/api").ContextPlugin<import("~/graphql/types").PbImportExportContext>[];
1
+ import type { ImportExportPluginsParams } from "./types";
2
+ declare const _default: (params: ImportExportPluginsParams) => import("@webiny/api").ContextPlugin<import("./types").PbImportExportContext>[];
3
3
  export default _default;
package/graphql/crud.js CHANGED
@@ -1,20 +1,16 @@
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 _blocks = _interopRequireDefault(require("./crud/blocks.crud"));
11
-
9
+ var _forms = _interopRequireDefault(require("./crud/forms.crud"));
12
10
  var _pages = _interopRequireDefault(require("./crud/pages.crud"));
13
-
14
11
  var _templates = _interopRequireDefault(require("./crud/templates.crud"));
15
-
16
12
  var _importExportTasks = _interopRequireDefault(require("./crud/importExportTasks.crud"));
13
+ var _default = params => [_blocks.default, _forms.default, _pages.default, _templates.default, (0, _importExportTasks.default)(params)];
14
+ exports.default = _default;
17
15
 
18
- var _default = params => [_blocks.default, _pages.default, _templates.default, (0, _importExportTasks.default)(params)];
19
-
20
- exports.default = _default;
16
+ //# sourceMappingURL=crud.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["params","blocks","pages","templates","importExportTask"],"sources":["crud.ts"],"sourcesContent":["import blocks from \"./crud/blocks.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 pages,\n templates,\n importExportTask(params as ImportExportPluginsParams)\n];\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;eAGgBA,MAAD,IAAuC,CAClDC,eADkD,EAElDC,cAFkD,EAGlDC,kBAHkD,EAIlD,IAAAC,0BAAA,EAAiBJ,MAAjB,CAJkD,C"}
1
+ {"version":3,"names":["_blocks","_interopRequireDefault","require","_forms","_pages","_templates","_importExportTasks","_default","params","blocks","forms","pages","templates","importExportTask","exports","default"],"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 type { ImportExportPluginsParams } from \"~/graphql/types\";\n\nexport default (params: ImportExportPluginsParams) => [\n blocks,\n forms,\n pages,\n templates,\n importExportTask(params)\n];\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,kBAAA,GAAAL,sBAAA,CAAAC,OAAA;AAA6D,IAAAK,QAAA,GAG7CC,MAAiC,IAAK,CAClDC,eAAM,EACNC,cAAK,EACLC,cAAK,EACLC,kBAAS,EACT,IAAAC,0BAAgB,EAACL,MAAM,CAAC,CAC3B;AAAAM,OAAA,CAAAC,OAAA,GAAAR,QAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/types";
2
- import { PbImportExportContext } from "../types";
1
+ import type { GraphQLSchemaPlugin } from "@webiny/handler-graphql/types";
2
+ import type { PbImportExportContext } from "../types";
3
3
  declare const plugin: GraphQLSchemaPlugin<PbImportExportContext>;
4
4
  export default plugin;
@@ -1,20 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.default = void 0;
9
-
10
- var _resolve = _interopRequireDefault(require("./utils/resolve"));
11
-
7
+ var _resolve = require("./utils/resolve");
12
8
  const plugin = {
13
9
  type: "graphql-schema",
14
10
  schema: {
15
- typeDefs:
16
- /* GraphQL */
17
- `
11
+ typeDefs: /* GraphQL */`
18
12
  type PbExportBlockData {
19
13
  task: PbImportExportTask
20
14
  }
@@ -38,20 +32,21 @@ const plugin = {
38
32
  exportBlocks(ids: [ID!], where: PbListPageBlocksWhereInput): PbExportBlockResponse
39
33
 
40
34
  # Import blocks
41
- importBlocks(category: String!, zipFileUrl: String): PbImportBlockResponse
35
+ importBlocks(zipFileUrl: String): PbImportBlockResponse
42
36
  }
43
37
  `,
44
38
  resolvers: {
45
39
  PbMutation: {
46
40
  exportBlocks: async (_, args, context) => {
47
- return (0, _resolve.default)(() => context.pageBuilder.blocks.exportBlocks(args));
41
+ return (0, _resolve.resolve)(() => context.pageBuilder.blocks.exportBlocks(args));
48
42
  },
49
43
  importBlocks: async (_, args, context) => {
50
- return (0, _resolve.default)(() => context.pageBuilder.blocks.importBlocks(args));
44
+ return (0, _resolve.resolve)(() => context.pageBuilder.blocks.importBlocks(args));
51
45
  }
52
46
  }
53
47
  }
54
48
  }
55
49
  };
56
- var _default = plugin;
57
- exports.default = _default;
50
+ var _default = exports.default = plugin;
51
+
52
+ //# sourceMappingURL=blocks.gql.js.map
@@ -1 +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,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,SA3BY;IA4BJC,SAAS,EAAE;MACPC,UAAU,EAAE;QACRC,YAAY,EAAE,OAAOC,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;UAC3C,OAAO,IAAAC,gBAAA,EAAQ,MAAMD,OAAO,CAACE,WAAR,CAAoBC,MAApB,CAA2BN,YAA3B,CAAwCE,IAAxC,CAAd,CAAP;QACH,CAHO;QAKRK,YAAY,EAAE,OAAON,CAAP,EAAUC,IAAV,EAAqBC,OAArB,KAAiC;UAC3C,OAAO,IAAAC,gBAAA,EAAQ,MAAMD,OAAO,CAACE,WAAR,CAAoBC,MAApB,CAA2BC,YAA3B,CAAwCL,IAAxC,CAAd,CAAP;QACH;MAPO;IADL;EA5BP;AAF+C,CAA3D;eA4CeR,M"}
1
+ {"version":3,"names":["_resolve","require","plugin","type","schema","typeDefs","resolvers","PbMutation","exportBlocks","_","args","context","resolve","pageBuilder","blocks","importBlocks","_default","exports","default"],"sources":["blocks.gql.ts"],"sourcesContent":["import type { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport type { 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(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,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,MAAkD,GAAG;EACvDC,IAAI,EAAE,gBAAgB;EACtBC,MAAM,EAAE;IACJC,QAAQ,EAAE,aAAc;AAChC;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,MAAAA,CAAOC,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,MAAAA,CAAON,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,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEahB,MAAM","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { GraphQLSchemaPlugin } from "@webiny/handler-graphql/types";
2
+ import type { PbImportExportContext } from "../types";
3
+ declare const plugin: GraphQLSchemaPlugin<PbImportExportContext>;
4
+ export default plugin;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _resolve = require("./utils/resolve");
8
+ const plugin = {
9
+ type: "graphql-schema",
10
+ schema: {
11
+ typeDefs: /* GraphQL */`
12
+ type FbExportFormData {
13
+ task: PbImportExportTask
14
+ }
15
+
16
+ type FbExportFormResponse {
17
+ data: FbExportFormData
18
+ error: FbError
19
+ }
20
+
21
+ type FbImportFormData {
22
+ task: PbImportExportTask
23
+ }
24
+
25
+ type FbImportFormResponse {
26
+ data: FbImportFormData
27
+ error: FbError
28
+ }
29
+
30
+ enum FbExportFormRevisionType {
31
+ published
32
+ latest
33
+ }
34
+
35
+ extend type FbMutation {
36
+ # Export forms
37
+ exportForms(
38
+ ids: [ID!]
39
+ revisionType: FbExportFormRevisionType!
40
+ ): FbExportFormResponse
41
+
42
+ # Import forms
43
+ importForms(zipFileUrl: String, meta: JSON): FbImportFormResponse
44
+ }
45
+ `,
46
+ resolvers: {
47
+ FbMutation: {
48
+ exportForms: async (_, args, context) => {
49
+ return (0, _resolve.resolve)(() => context.formBuilder.forms.exportForms(args));
50
+ },
51
+ importForms: async (_, args, context) => {
52
+ return (0, _resolve.resolve)(() => context.formBuilder.forms.importForms(args));
53
+ }
54
+ }
55
+ }
56
+ }
57
+ };
58
+ var _default = exports.default = plugin;
59
+
60
+ //# sourceMappingURL=forms.gql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_resolve","require","plugin","type","schema","typeDefs","resolvers","FbMutation","exportForms","_","args","context","resolve","formBuilder","forms","importForms","_default","exports","default"],"sources":["forms.gql.ts"],"sourcesContent":["import type { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport type { 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,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,MAAkD,GAAG;EACvDC,IAAI,EAAE,gBAAgB;EACtBC,MAAM,EAAE;IACJC,QAAQ,EAAE,aAAc;AAChC;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,MAAAA,CAAOC,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,MAAAA,CAAON,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,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEahB,MAAM","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/types";
2
- import { PbImportExportContext } from "../types";
1
+ import type { GraphQLSchemaPlugin } from "@webiny/handler-graphql/types";
2
+ import type { PbImportExportContext } from "../types";
3
3
  declare const plugin: GraphQLSchemaPlugin<PbImportExportContext>;
4
4
  export default plugin;
@@ -1,20 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.default = void 0;
9
-
10
- var _resolve = _interopRequireDefault(require("./utils/resolve"));
11
-
7
+ var _resolve = require("./utils/resolve");
12
8
  const plugin = {
13
9
  type: "graphql-schema",
14
10
  schema: {
15
- typeDefs:
16
- /* GraphQL */
17
- `
11
+ typeDefs: /* GraphQL */`
18
12
  enum PbImportExportTaskStatus {
19
13
  pending
20
14
  processing
@@ -33,7 +27,7 @@ const plugin = {
33
27
  type PbImportExportTask {
34
28
  id: ID
35
29
  createdOn: DateTime
36
- createdBy: PbCreatedBy
30
+ createdBy: PbIdentity
37
31
  status: PbImportExportTaskStatus
38
32
  data: JSON
39
33
  stats: PbImportExportTaskStats
@@ -63,12 +57,12 @@ const plugin = {
63
57
  resolvers: {
64
58
  PbQuery: {
65
59
  getImportExportTask: async (_, args, context) => {
66
- return (0, _resolve.default)(() => {
60
+ return (0, _resolve.resolve)(() => {
67
61
  return context.pageBuilder.importExportTask.getTask(args.id);
68
62
  });
69
63
  },
70
64
  listImportExportSubTask: async (_, args, context) => {
71
- return (0, _resolve.default)(() => {
65
+ return (0, _resolve.resolve)(() => {
72
66
  return context.pageBuilder.importExportTask.listSubTasks(args.id, args.status, args.limit);
73
67
  });
74
68
  }
@@ -76,5 +70,6 @@ const plugin = {
76
70
  }
77
71
  }
78
72
  };
79
- var _default = plugin;
80
- exports.default = _default;
73
+ var _default = exports.default = plugin;
74
+
75
+ //# sourceMappingURL=importExportTasks.gql.js.map
@@ -1 +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
+ {"version":3,"names":["_resolve","require","plugin","type","schema","typeDefs","resolvers","PbQuery","getImportExportTask","_","args","context","resolve","pageBuilder","importExportTask","getTask","id","listImportExportSubTask","listSubTasks","status","limit","_default","exports","default"],"sources":["importExportTasks.gql.ts"],"sourcesContent":["import type { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport { resolve } from \"./utils/resolve\";\nimport type { 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: PbIdentity\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,IAAAA,QAAA,GAAAC,OAAA;AAGA,MAAMC,MAAkD,GAAG;EACvDC,IAAI,EAAE,gBAAgB;EACtBC,MAAM,EAAE;IACJC,QAAQ,EAAE,aAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDC,SAAS,EAAE;MACPC,OAAO,EAAE;QACLC,mBAAmB,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UAClD,OAAO,IAAAC,gBAAO,EAAC,MAAM;YACjB,OAAOD,OAAO,CAACE,WAAW,CAACC,gBAAgB,CAACC,OAAO,CAACL,IAAI,CAACM,EAAE,CAAC;UAChE,CAAC,CAAC;QACN,CAAC;QACDC,uBAAuB,EAAE,MAAAA,CAAOR,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;UACtD,OAAO,IAAAC,gBAAO,EAAC,MAAM;YACjB,OAAOD,OAAO,CAACE,WAAW,CAACC,gBAAgB,CAACI,YAAY,CACpDR,IAAI,CAACM,EAAE,EACPN,IAAI,CAACS,MAAM,EACXT,IAAI,CAACU,KACT,CAAC;UACL,CAAC,CAAC;QACN;MACJ;IACJ;EACJ;AACJ,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACarB,MAAM","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/types";
2
- import { PbImportExportContext } from "../types";
1
+ import type { GraphQLSchemaPlugin } from "@webiny/handler-graphql/types";
2
+ import type { PbImportExportContext } from "../types";
3
3
  declare const plugin: GraphQLSchemaPlugin<PbImportExportContext>;
4
4
  export default plugin;