@webiny/api-page-builder-import-export 0.0.0-unstable.8c4d9f045a → 0.0.0-unstable.8feaff8c32

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 (185) hide show
  1. package/client.d.ts +2 -2
  2. package/client.js +6 -16
  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 +42 -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 +167 -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 +39 -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 +4 -25
  36. package/export/s3Stream.js.map +1 -0
  37. package/export/utils.d.ts +30 -0
  38. package/export/utils.js +200 -0
  39. package/export/utils.js.map +1 -0
  40. package/{exportPages → export}/zipper.d.ts +6 -5
  41. package/{exportPages → export}/zipper.js +40 -53
  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 +130 -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 +134 -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} +100 -140
  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 +48 -58
  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 +128 -0
  57. package/graphql/crud/templates.crud.js.map +1 -0
  58. package/graphql/crud.d.ts +2 -2
  59. package/graphql/crud.js +6 -8
  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} +19 -24
  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 +5 -16
  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 +6 -7
  79. package/graphql/graphql.js.map +1 -1
  80. package/graphql/index.d.ts +2 -2
  81. package/graphql/index.js +1 -6
  82. package/graphql/index.js.map +1 -1
  83. package/graphql/types.d.ts +82 -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 +99 -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 +42 -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 +168 -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 +106 -0
  108. package/import/process/blocks/importBlock.js.map +1 -0
  109. package/import/process/forms/formsHandler.d.ts +3 -0
  110. package/import/process/forms/formsHandler.js +176 -0
  111. package/import/process/forms/formsHandler.js.map +1 -0
  112. package/import/process/forms/importForm.d.ts +9 -0
  113. package/import/process/forms/importForm.js +43 -0
  114. package/import/process/forms/importForm.js.map +1 -0
  115. package/{importPages → import}/process/index.d.ts +5 -3
  116. package/import/process/index.js +39 -0
  117. package/import/process/index.js.map +1 -0
  118. package/import/process/pages/importPage.d.ts +11 -0
  119. package/import/process/pages/importPage.js +92 -0
  120. package/import/process/pages/importPage.js.map +1 -0
  121. package/import/process/pages/pagesHandler.d.ts +3 -0
  122. package/import/process/pages/pagesHandler.js +183 -0
  123. package/import/process/pages/pagesHandler.js.map +1 -0
  124. package/import/process/templates/importTemplate.d.ts +11 -0
  125. package/import/process/templates/importTemplate.js +66 -0
  126. package/import/process/templates/importTemplate.js.map +1 -0
  127. package/import/process/templates/templatesHandler.d.ts +3 -0
  128. package/import/process/templates/templatesHandler.js +170 -0
  129. package/import/process/templates/templatesHandler.js.map +1 -0
  130. package/import/utils/deleteS3Folder.d.ts +1 -0
  131. package/import/utils/deleteS3Folder.js +19 -0
  132. package/import/utils/deleteS3Folder.js.map +1 -0
  133. package/import/utils/extractAndUploadZipFileContents.d.ts +7 -0
  134. package/import/utils/extractAndUploadZipFileContents.js +122 -0
  135. package/import/utils/extractAndUploadZipFileContents.js.map +1 -0
  136. package/import/utils/extractZipAndUploadToS3.d.ts +2 -0
  137. package/import/utils/extractZipAndUploadToS3.js +98 -0
  138. package/import/utils/extractZipAndUploadToS3.js.map +1 -0
  139. package/import/utils/getFileNameWithoutExt.d.ts +1 -0
  140. package/import/utils/getFileNameWithoutExt.js +11 -0
  141. package/import/utils/getFileNameWithoutExt.js.map +1 -0
  142. package/import/utils/index.d.ts +9 -0
  143. package/import/utils/index.js +104 -0
  144. package/import/utils/index.js.map +1 -0
  145. package/import/utils/initialStats.d.ts +7 -0
  146. package/import/utils/initialStats.js +16 -0
  147. package/import/utils/initialStats.js.map +1 -0
  148. package/import/utils/prepareDataDirMap.d.ts +6 -0
  149. package/import/utils/prepareDataDirMap.js +29 -0
  150. package/import/utils/prepareDataDirMap.js.map +1 -0
  151. package/import/utils/updateFilesInData.d.ts +8 -0
  152. package/import/utils/updateFilesInData.js +49 -0
  153. package/import/utils/updateFilesInData.js.map +1 -0
  154. package/import/utils/uploadAssets.d.ts +10 -0
  155. package/import/utils/uploadAssets.js +87 -0
  156. package/import/utils/uploadAssets.js.map +1 -0
  157. package/import/utils/uploadFilesFromS3.d.ts +3 -0
  158. package/import/utils/uploadFilesFromS3.js +19 -0
  159. package/import/utils/uploadFilesFromS3.js.map +1 -0
  160. package/mockSecurity.js +0 -3
  161. package/mockSecurity.js.map +1 -1
  162. package/package.json +34 -37
  163. package/types.d.ts +83 -65
  164. package/types.js +69 -22
  165. package/types.js.map +1 -1
  166. package/exportPages/combine/index.js +0 -114
  167. package/exportPages/combine/index.js.map +0 -1
  168. package/exportPages/process/index.js +0 -208
  169. package/exportPages/process/index.js.map +0 -1
  170. package/exportPages/s3Stream.js.map +0 -1
  171. package/exportPages/utils.d.ts +0 -13
  172. package/exportPages/utils.js +0 -113
  173. package/exportPages/utils.js.map +0 -1
  174. package/exportPages/zipper.js.map +0 -1
  175. package/graphql/crud/pageImportExportTasks.crud.d.ts +0 -5
  176. package/graphql/crud/pageImportExportTasks.crud.js.map +0 -1
  177. package/graphql/graphql/pageImportExportTasks.gql.d.ts +0 -4
  178. package/graphql/graphql/pageImportExportTasks.gql.js.map +0 -1
  179. package/importPages/create/index.js +0 -118
  180. package/importPages/create/index.js.map +0 -1
  181. package/importPages/process/index.js +0 -185
  182. package/importPages/process/index.js.map +0 -1
  183. package/importPages/utils.d.ts +0 -50
  184. package/importPages/utils.js +0 -570
  185. package/importPages/utils.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utils","require","_fields","_commodoFieldsObject","_validation","_api","_handlerGraphql","_types","_error","_interopRequireDefault","_PagesPermissions","validStatus","ImportExportTaskStatus","PENDING","PROCESSING","COMPLETED","FAILED","CreateDataModel","withFields","status","string","validation","create","data","object","input","stats","error","UpdateDataModel","_default","storageOperations","ContextPlugin","context","pageBuilder","console","log","pagesPermissions","PagesPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","getLocale","locale","i18n","getContentLocale","WebinyError","importExportTask","getTask","id","ensure","rwd","tenant","tenancy","getCurrentTenant","params","where","code","ex","message","_objectSpread2","default","owns","createdBy","listTasks","sort","limit","listParams","Array","isArray","length","canAccessOnlyOwnRecords","identity","items","createTask","createDataModel","populate","validate","mdbid","toJSON","createdOn","Date","toISOString","type","displayName","task","updateTask","original","NotFoundError","updateDataModel","onlyDirty","deleteTask","updateStats","updateTaskStats","createSubTask","parent","importExportSubTask","subTask","updateSubTask","subTaskId","getSubTask","listSubTasks","exports"],"sources":["importExportTasks.crud.ts"],"sourcesContent":["import { mdbid } from \"@webiny/utils\";\n/**\n * Package @commodo/fields does not have types.\n */\n// @ts-ignore\nimport { string, withFields } from \"@commodo/fields\";\n/**\n * Package commodo-fields-object does not have types.\n */\n// @ts-ignore\nimport { object } from \"commodo-fields-object\";\nimport { validation } from \"@webiny/validation\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport {\n ImportExportPluginsParams,\n ImportExportTask,\n ImportExportTaskStatus,\n ImportExportTaskStorageOperationsListSubTaskParams\n} from \"~/types\";\nimport { PbImportExportContext } from \"~/graphql/types\";\nimport WebinyError from \"@webiny/error\";\nimport { PageElementStorageOperationsListParams } from \"@webiny/api-page-builder/types\";\nimport { PagesPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions\";\n\nconst validStatus = `${ImportExportTaskStatus.PENDING}:${ImportExportTaskStatus.PROCESSING}:${ImportExportTaskStatus.COMPLETED}:${ImportExportTaskStatus.FAILED}`;\n\nconst CreateDataModel = withFields({\n status: string({\n validation: validation.create(`required,in:${validStatus}`)\n }),\n data: object(),\n input: object(),\n stats: object(),\n error: object()\n})();\n\nconst UpdateDataModel = withFields({\n status: string({\n validation: validation.create(`in:${validStatus}`)\n }),\n data: object(),\n input: object(),\n stats: object(),\n error: object()\n})();\n\nexport default ({ storageOperations }: ImportExportPluginsParams) =>\n new ContextPlugin<PbImportExportContext>(async context => {\n /**\n * If pageBuilder is not defined on the context, do not continue, but log it.\n */\n if (!context.pageBuilder) {\n console.log(\"Missing pageBuilder on context. Skipping ImportExportTasks crud.\");\n return;\n }\n\n const pagesPermissions = new PagesPermissions({\n getPermissions: () => context.security.getPermissions(\"pb.page\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n const getLocale = () => {\n const locale = context.i18n.getContentLocale();\n if (!locale) {\n throw new WebinyError(\n \"Missing content locale in importExportTasks.crud.ts\",\n \"LOCALE_ERROR\"\n );\n }\n return locale;\n };\n\n // Modify context\n context.pageBuilder.importExportTask = {\n storageOperations,\n async getTask(id) {\n await pagesPermissions.ensure({ rwd: \"r\" });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const params = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n id\n }\n };\n\n let importExportTask: ImportExportTask | null = null;\n\n try {\n importExportTask = await storageOperations.getTask(params);\n\n if (!importExportTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get importExportTask by id.\",\n ex.code || \"GET_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n\n await pagesPermissions.ensure({ owns: importExportTask.createdBy });\n\n return importExportTask;\n },\n\n async listTasks(params) {\n await pagesPermissions.ensure({ rwd: \"r\" });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const { sort, limit } = params || {};\n\n const listParams: PageElementStorageOperationsListParams = {\n where: {\n tenant: tenant.id,\n locale: locale.code\n },\n sort: Array.isArray(sort) && sort.length > 0 ? sort : [\"createdOn_ASC\"],\n limit: limit\n };\n\n // If user can only manage own records, let's add that to the listing.\n if (await pagesPermissions.canAccessOnlyOwnRecords) {\n const identity = context.security.getIdentity();\n listParams.where.createdBy = identity.id;\n }\n\n try {\n const [items] = await storageOperations.listTasks(listParams);\n return items;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list all importExportTask.\",\n ex.code || \"LIST_ELEMENTS_ERROR\",\n {\n params\n }\n );\n }\n },\n\n async createTask(input) {\n await pagesPermissions.ensure({ rwd: \"w\" });\n\n const createDataModel = new CreateDataModel().populate(input);\n await createDataModel.validate();\n\n const id: string = mdbid();\n const identity = context.security.getIdentity();\n\n const data: ImportExportTask = await createDataModel.toJSON();\n\n const importExportTask: ImportExportTask = {\n ...data,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocale().code,\n id,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n try {\n return await storageOperations.createTask({\n input: data,\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create importExportTask.\",\n ex.code || \"CREATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportTask\n }\n );\n }\n },\n\n async updateTask(id, input) {\n await pagesPermissions.ensure({ rwd: \"w\" });\n\n const original = await context.pageBuilder.importExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n await pagesPermissions.ensure({ owns: original.createdBy });\n\n const updateDataModel = new UpdateDataModel().populate(input);\n await updateDataModel.validate();\n\n const data = await updateDataModel.toJSON({ onlyDirty: true });\n\n const importExportTask: ImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateTask({\n input: data,\n original,\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n original,\n importExportTask\n }\n );\n }\n },\n\n async deleteTask(id) {\n await pagesPermissions.ensure({ rwd: \"d\" });\n\n const importExportTask = await context.pageBuilder.importExportTask.getTask(id);\n if (!importExportTask) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n await pagesPermissions.ensure({ owns: importExportTask.createdBy });\n\n try {\n return await storageOperations.deleteTask({\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete importExportTask.\",\n ex.code || \"DELETE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportTask\n }\n );\n }\n },\n\n async updateStats(id, input) {\n await pagesPermissions.ensure({ rwd: \"w\" });\n\n const original = await context.pageBuilder.importExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n await pagesPermissions.ensure({ owns: original.createdBy });\n\n try {\n return await storageOperations.updateTaskStats({\n input,\n original\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n original\n }\n );\n }\n },\n\n async createSubTask(parent, id, input) {\n await pagesPermissions.ensure({ rwd: \"w\" });\n\n const createDataModel = new CreateDataModel().populate(input);\n await createDataModel.validate();\n\n const identity = context.security.getIdentity();\n\n const data = await createDataModel.toJSON();\n\n const importExportSubTask: ImportExportTask = {\n ...data,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocale().code,\n id: id,\n parent: parent,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n try {\n return await storageOperations.createSubTask({\n input: data,\n subTask: importExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create importExportSubTask.\",\n ex.code || \"CREATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportSubTask\n }\n );\n }\n },\n\n async updateSubTask(parent, subTaskId, input) {\n await pagesPermissions.ensure({ rwd: \"w\" });\n\n const original = await context.pageBuilder.importExportTask.getSubTask(\n parent,\n subTaskId\n );\n if (!original) {\n throw new NotFoundError(\n `ImportExportTask parent: \"${parent}\" and id: \"${subTaskId}\" not found.`\n );\n }\n\n await pagesPermissions.ensure({ owns: original.createdBy });\n\n const updateDataModel = new UpdateDataModel().populate(input);\n await updateDataModel.validate();\n\n const data = await updateDataModel.toJSON({ onlyDirty: true });\n // TODO: Merge recursively\n const importExportSubTask: ImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateSubTask({\n input: data,\n original,\n subTask: importExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportSubTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportSubTask,\n original\n }\n );\n }\n },\n\n async getSubTask(parent, subTaskId) {\n await pagesPermissions.ensure({ rwd: \"r\" });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const params = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n id: subTaskId,\n parent: parent\n }\n };\n\n let importExportSubTask: ImportExportTask | null = null;\n\n try {\n importExportSubTask = await storageOperations.getSubTask(params);\n if (!importExportSubTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get importExportSubTask by id.\",\n ex.code || \"GET_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n\n await pagesPermissions.ensure({ owns: importExportSubTask.createdBy });\n\n return importExportSubTask;\n },\n\n async listSubTasks(parent, status, limit) {\n await pagesPermissions.ensure({ rwd: \"r\" });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const listParams: ImportExportTaskStorageOperationsListSubTaskParams = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n parent: parent,\n status\n },\n limit\n };\n\n // If user can only manage own records, let's add that to the listing.\n if (await pagesPermissions.canAccessOnlyOwnRecords()) {\n const identity = context.security.getIdentity();\n listParams.where.createdBy = identity.id;\n }\n\n try {\n const [items] = await storageOperations.listSubTasks(listParams);\n return items;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list all importExportSubTask.\",\n ex.code || \"LIST_IMPORT_EXPORT_TASK_ERROR\",\n {\n params: {\n parent,\n status,\n limit\n }\n }\n );\n }\n }\n };\n });\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { ContextPlugin } from "@webiny/api";
2
- import { PbPageImportExportContext } from "../../types";
3
- declare const _default: ContextPlugin<PbPageImportExportContext>;
2
+ import { PbImportExportContext } from "../../types";
3
+ declare const _default: ContextPlugin<PbImportExportContext>;
4
4
  export default _default;
@@ -1,53 +1,46 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _error = _interopRequireDefault(require("@webiny/error"));
11
-
12
9
  var _handlerGraphql = require("@webiny/handler-graphql");
13
-
14
10
  var _api = require("@webiny/api");
15
-
16
- var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
17
-
18
11
  var _types = require("../../types");
19
-
20
12
  var _client = require("../../client");
21
-
22
- var _utils = require("../../importPages/utils");
23
-
24
- var _utils2 = require("../../exportPages/utils");
25
-
13
+ var _utils = require("../../import/utils");
14
+ var _utils2 = require("../../export/utils");
26
15
  var _utils3 = require("@webiny/utils");
27
-
28
- 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
-
16
+ var _PagesPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions");
17
+ const EXPORT_PAGES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
18
+ const IMPORT_PAGES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
32
19
  var _default = new _api.ContextPlugin(context => {
20
+ const pagesPermissions = new _PagesPermissions.PagesPermissions({
21
+ getPermissions: () => context.security.getPermissions("pb.page"),
22
+ getIdentity: context.security.getIdentity,
23
+ fullAccessPermissionName: "pb.*"
24
+ });
33
25
  const importExportCrud = {
34
26
  async importPages({
35
27
  category: categorySlug,
36
- zipFileUrl
28
+ zipFileUrl,
29
+ meta
37
30
  }) {
38
- await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
31
+ await pagesPermissions.ensure({
39
32
  rwd: "w"
40
- }); // Bail out early if category not found
33
+ });
41
34
 
35
+ // Bail out early if category not found
42
36
  const category = await context.pageBuilder.getCategory(categorySlug);
43
-
44
37
  if (!category) {
45
38
  throw new _handlerGraphql.NotFoundError(`Category with slug "${categorySlug}" not found.`);
46
- } // Create a task for import page
47
-
39
+ }
48
40
 
49
- const task = await context.pageBuilder.pageImportExportTask.createTask({
50
- status: _types.PageImportExportTaskStatus.PENDING,
41
+ // Create a task for import page
42
+ const task = await context.pageBuilder.importExportTask.createTask({
43
+ status: _types.ImportExportTaskStatus.PENDING,
51
44
  input: {
52
45
  category: categorySlug,
53
46
  zipFileUrl
@@ -58,7 +51,6 @@ var _default = new _api.ContextPlugin(context => {
58
51
  * ImportPages
59
52
  * importPages
60
53
  */
61
-
62
54
  await (0, _client.invokeHandlerClient)({
63
55
  context,
64
56
  name: IMPORT_PAGES_CREATE_HANDLER,
@@ -66,7 +58,9 @@ var _default = new _api.ContextPlugin(context => {
66
58
  category: categorySlug,
67
59
  zipFileUrl,
68
60
  task,
69
- identity: context.security.getIdentity()
61
+ type: "page",
62
+ identity: context.security.getIdentity(),
63
+ meta
70
64
  },
71
65
  description: "Import Pages - create"
72
66
  });
@@ -74,7 +68,6 @@ var _default = new _api.ContextPlugin(context => {
74
68
  task
75
69
  };
76
70
  },
77
-
78
71
  async exportPages({
79
72
  ids: initialPageIds,
80
73
  revisionType,
@@ -82,11 +75,11 @@ var _default = new _api.ContextPlugin(context => {
82
75
  sort,
83
76
  search
84
77
  }) {
85
- await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
78
+ await pagesPermissions.ensure({
86
79
  rwd: "w"
87
80
  });
88
- let pageIds = initialPageIds || []; // If no ids are provided then it means we want to export all pages
89
-
81
+ let pageIds = initialPageIds || [];
82
+ // If no ids are provided then it means we want to export all pages
90
83
  if (!initialPageIds || Array.isArray(initialPageIds) && initialPageIds.length === 0) {
91
84
  pageIds = [];
92
85
  let pages = [];
@@ -94,65 +87,64 @@ var _default = new _api.ContextPlugin(context => {
94
87
  hasMoreItems: true,
95
88
  cursor: null,
96
89
  totalCount: 0
97
- }; // Paginate pages
98
-
90
+ };
91
+ // Paginate pages
99
92
  while (meta.hasMoreItems) {
100
93
  [pages, meta] = await context.pageBuilder.listLatestPages({
101
94
  after: meta.cursor,
102
95
  where: where,
103
96
  sort: sort,
104
97
  search: search
105
- }); // Save page ids
106
-
98
+ });
99
+ // Save page ids
107
100
  pages.forEach(page => pageIds.push(page.id));
108
101
  }
109
102
  }
110
-
111
103
  if (pageIds.length === 0) {
112
104
  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
-
105
+ }
115
106
 
116
- const task = await context.pageBuilder.pageImportExportTask.createTask({
117
- status: _types.PageImportExportTaskStatus.PENDING
107
+ // Create the main task for page export.
108
+ const task = await context.pageBuilder.importExportTask.createTask({
109
+ status: _types.ImportExportTaskStatus.PENDING
118
110
  });
119
- const exportPagesDataKey = `${_utils2.EXPORT_PAGES_FOLDER_KEY}/${task.id}`; // For each page create a sub task and invoke the process handler.
120
-
111
+ const exportPagesDataKey = `${_utils2.EXPORT_PAGES_FOLDER_KEY}/${task.id}`;
112
+ // For each page create a sub task and invoke the process handler.
121
113
  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,
114
+ const pageId = pageIds[i];
115
+ // Create sub task.
116
+ await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
117
+ status: _types.ImportExportTaskStatus.PENDING,
126
118
  input: {
127
119
  pageId,
128
120
  exportPagesDataKey,
129
121
  revisionType
130
122
  }
131
123
  });
132
- } // Update main task status.
133
-
134
-
135
- await context.pageBuilder.pageImportExportTask.updateTask(task.id, {
136
- status: _types.PageImportExportTaskStatus.PROCESSING,
124
+ }
125
+ // Update main task status.
126
+ await context.pageBuilder.importExportTask.updateTask(task.id, {
127
+ status: _types.ImportExportTaskStatus.PROCESSING,
137
128
  stats: (0, _utils.initialStats)(pageIds.length),
138
129
  input: {
139
130
  exportPagesDataKey,
140
131
  revisionType
141
132
  }
142
133
  });
134
+
143
135
  /**
144
136
  * Export Pages
145
137
  * ExportPages
146
138
  * exportPages
147
139
  */
148
140
  // Invoke handler.
149
-
150
141
  await (0, _client.invokeHandlerClient)({
151
142
  context,
152
143
  name: EXPORT_PAGES_PROCESS_HANDLER,
153
144
  payload: {
154
145
  taskId: task.id,
155
146
  subTaskIndex: 1,
147
+ type: "page",
156
148
  identity: context.security.getIdentity()
157
149
  },
158
150
  description: "Export pages - process"
@@ -161,10 +153,8 @@ var _default = new _api.ContextPlugin(context => {
161
153
  task
162
154
  };
163
155
  }
164
-
165
- }; // Modify context
166
-
156
+ };
157
+ // Modify context
167
158
  context.pageBuilder.pages = importExportCrud;
168
159
  });
169
-
170
160
  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":["_error","_interopRequireDefault","require","_handlerGraphql","_api","_types","_client","_utils","_utils2","_utils3","_PagesPermissions","EXPORT_PAGES_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_PAGES_CREATE_HANDLER","IMPORT_CREATE_HANDLER","_default","ContextPlugin","context","pagesPermissions","PagesPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","importExportCrud","importPages","category","categorySlug","zipFileUrl","meta","ensure","rwd","pageBuilder","getCategory","NotFoundError","task","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","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","exports","default"],"sources":["pages.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { ContextPlugin } from \"@webiny/api\";\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\";\nimport { PagesPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions\";\n\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 pagesPermissions = new PagesPermissions({\n getPermissions: () => context.security.getPermissions(\"pb.page\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n const importExportCrud: PagesImportExportCrud = {\n async importPages({ category: categorySlug, zipFileUrl, meta }) {\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 // 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 pagesPermissions.ensure({ 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,128 @@
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 _types = require("../../types");
11
+ var _client = require("../../client");
12
+ var _utils = require("../../import/utils");
13
+ var _utils2 = require("../../export/utils");
14
+ var _utils3 = require("@webiny/utils");
15
+ var _PageTemplatesPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PageTemplatesPermissions");
16
+ const EXPORT_TEMPLATES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
17
+ const IMPORT_TEMPLATES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
18
+ var _default = new _api.ContextPlugin(context => {
19
+ const pagesPermissions = new _PageTemplatesPermissions.PageTemplatesPermissions({
20
+ getPermissions: () => context.security.getPermissions("pb.template"),
21
+ getIdentity: context.security.getIdentity,
22
+ fullAccessPermissionName: "pb.*"
23
+ });
24
+ const importExportCrud = {
25
+ async importTemplates({
26
+ zipFileUrl
27
+ }) {
28
+ await pagesPermissions.ensure({
29
+ rwd: "w"
30
+ });
31
+
32
+ // Create a task for import template
33
+ const task = await context.pageBuilder.importExportTask.createTask({
34
+ status: _types.ImportExportTaskStatus.PENDING,
35
+ input: {
36
+ zipFileUrl
37
+ }
38
+ });
39
+ /**
40
+ * Import Templates
41
+ * ImportTemplates
42
+ * importTemplates
43
+ */
44
+ await (0, _client.invokeHandlerClient)({
45
+ context,
46
+ name: IMPORT_TEMPLATES_CREATE_HANDLER,
47
+ payload: {
48
+ zipFileUrl,
49
+ task,
50
+ type: "template",
51
+ identity: context.security.getIdentity()
52
+ },
53
+ description: "Import Templates - create"
54
+ });
55
+ return {
56
+ task
57
+ };
58
+ },
59
+ async exportTemplates({
60
+ ids: initialTemplateIds
61
+ }) {
62
+ await pagesPermissions.ensure({
63
+ rwd: "w"
64
+ });
65
+ let templateIds = initialTemplateIds || [];
66
+ // If no ids are provided then it means we want to export all templates
67
+ if (!initialTemplateIds || Array.isArray(initialTemplateIds) && initialTemplateIds.length === 0) {
68
+ templateIds = [];
69
+ const templates = await context.pageBuilder.listPageTemplates();
70
+ // Save template ids
71
+ templates.forEach(template => templateIds.push(template.id));
72
+ }
73
+ if (templateIds.length === 0) {
74
+ throw new _error.default("Cannot export templates - no templates found for provided inputs.", "EMPTY_EXPORT_NO_TEMPLATES_FOUND");
75
+ }
76
+
77
+ // Create the main task for templates export.
78
+ const task = await context.pageBuilder.importExportTask.createTask({
79
+ status: _types.ImportExportTaskStatus.PENDING
80
+ });
81
+ const exportTemplatesDataKey = `${_utils2.EXPORT_TEMPLATES_FOLDER_KEY}/${task.id}`;
82
+ // For each template create a sub task and invoke the process handler.
83
+ for (let i = 0; i < templateIds.length; i++) {
84
+ const templateId = templateIds[i];
85
+ // Create sub task.
86
+ await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
87
+ status: _types.ImportExportTaskStatus.PENDING,
88
+ input: {
89
+ templateId,
90
+ exportTemplatesDataKey
91
+ }
92
+ });
93
+ }
94
+ // Update main task status.
95
+ await context.pageBuilder.importExportTask.updateTask(task.id, {
96
+ status: _types.ImportExportTaskStatus.PROCESSING,
97
+ stats: (0, _utils.initialStats)(templateIds.length),
98
+ input: {
99
+ exportTemplatesDataKey
100
+ }
101
+ });
102
+
103
+ /**
104
+ * Export Templates
105
+ * ExportTemplates
106
+ * exportTemplates
107
+ */
108
+ // Invoke handler.
109
+ await (0, _client.invokeHandlerClient)({
110
+ context,
111
+ name: EXPORT_TEMPLATES_PROCESS_HANDLER,
112
+ payload: {
113
+ taskId: task.id,
114
+ subTaskIndex: 1,
115
+ type: "template",
116
+ identity: context.security.getIdentity()
117
+ },
118
+ description: "Export templates - process"
119
+ });
120
+ return {
121
+ task
122
+ };
123
+ }
124
+ };
125
+ // Modify context
126
+ context.pageBuilder.templates = importExportCrud;
127
+ });
128
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_api","_types","_client","_utils","_utils2","_utils3","_PageTemplatesPermissions","EXPORT_TEMPLATES_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_TEMPLATES_CREATE_HANDLER","IMPORT_CREATE_HANDLER","_default","ContextPlugin","context","pagesPermissions","PageTemplatesPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","importExportCrud","importTemplates","zipFileUrl","ensure","rwd","task","pageBuilder","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","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","exports","default"],"sources":["templates.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/api\";\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\";\nimport { PageTemplatesPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PageTemplatesPermissions\";\n\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 const importExportCrud: TemplatesImportExportCrud = {\n async importTemplates({ zipFileUrl }) {\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 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 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 // 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
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
8
+ var _blocks = _interopRequireDefault(require("./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":["_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 { 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,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,MAAmC,CAAC,CACxD;AAAAM,OAAA,CAAAC,OAAA,GAAAR,QAAA"}
@@ -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(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":["_resolve","_interopRequireDefault","require","plugin","type","schema","typeDefs","resolvers","PbMutation","exportBlocks","_","args","context","resolve","pageBuilder","blocks","importBlocks","_default","exports","default"],"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(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,sBAAA,CAAAC,OAAA;AAEA,MAAMC,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,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,GAEad,MAAM;AAAAe,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -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;