Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feat: Page Builder Import & Export Page (#1890)
* feat(api-page-builder): wip export and import page API * feat(app-page-builder): implement export and import page actions * feat(api-file-manager): add tags and hideInFileManager in upload method args * feat(apps/admin): add zipFileTypePlugin * fix(app-page-builder): add accept prop in import page option * chore(app/admin): add icon * feat(app-page-builder): add import export icons * fix(app-page-builder): add accept prop in import page option * feat(api-page-builder): add pageExportTask update page export and import mutation * feat(api-page-builder): add export page workflow handler * refactor(api-page-builder): move s3StreamHandler to exportPage * feat(api): add exportPage lambda handler * feat(api): add getPbExportPageTaskLambdaPolicy remove todos * feat(app-page-builder): add ExportPage button * refactor(app-page-builder): remove import and export page button from page editor bar * feat(app-page-builder): update import page workflow * chore(api): add package.json for api-page-builder-page-export-task * refactor(app-page-builder): move IMPORT_PAGE gql into pages.ts * feat(app-page-builder): add page to PbPageDetailsPlugin type * feat(app-page-builder): add ExportPageButton in PbPageDetailsPlugins * refactor(api-page-builder): use uniqid to generate file key in export page task * feat(ui): update DataList header cell span * feat(app-admin): add onUploadCompletion prop to FileManagerView * test(api-page-builder): add test for Page Export Task module * chore(api): update api-page-builder-page-export-task dependencies * chore: update yarn lock * refactor(api-page-builder): remove archiveFormat option from ZipHandlerConfig * fix(api-page-builder): add failed to PbPageExportTaskStatus * feat(api-page-builder): update export page task status as failed in case of error * refactor(api-page-builder): remove redundant code * feat(app-admin): export hideDialog from useDialog hook * feat(app-page-builder): handle cancel task handle error in case of export page * fix(app-page-builder): update copy export URL style * fix(api-page-builder): handle inaccessible file in page export * refactor(api-page-builder): skip updateFilesInPageData in case of no files * refactor(api-page-builder): rename pageExportTask to exportPageTask * refactor(api): rename api-page-builder-page-export-task to api-page-builder-export-page-task * chore: update yarn lock * refactor(app-page-builder): rename GET_EXPORT_PAGE_TASK GQL query * refactor(api-page-builder): update exportPageTask test * chore(api): add WEBINY_LOGS_FORWARD_URL in PageBuilder env * fix(api-page-builder): update ExportPageTask type in page crud * feat(api): add "api-page-builder-import-page" package * feat(api): add resources for importPage function * feat(api-page-builder): update export page handler * feat(api): add importPages packages in pageBuilder * feat(api-page-builder): add importPage handlers * feat(api-page-builder): add importPages and exportPages mutations * refactor(api-page-builder): remove openZipFile usage from create handler * refactor(api-page-builder): update importPage implementation * refactor(api): page builder handlers * feat(api-page-builder): remove zip contents from storage after importing page * feat(api): add "s3:ListBucket" action in getImportPageLambdaPolicy * fix(api-page-builder): add stats and error logs in main task * refactor(api-page-builder): use invokeHandlerClient * refactor(api-page-builder): handle error in case of bad file * feat(api-page-builder): handle zip file url as input * refactor(api-page-builder): add payload type in invokeHandlerClient * refactor(api-page-builder): update task stats * refactor(api-page-builder): use payload type * refactor(api-page-builder): add GSI * feat(api-page-builder): add export pages combine and process handlers * feat(api): add code for export pages combine and process handlers * feat(api): update lambda policies * feat(api): add resources for export pages handlers * refactor(api-page-builder): rename extract to combine * refactor(api-page-builder): revert self invoke condition * feat(api-page-builder): update readExtractAndUploadZipFileContents helper * refactor(api-page-builder): remove redundant code * fix(api-page-builder): save export page url after completion * fix(api-page-builder): add updateFilesInPageData helper * refactor(api): remove redundant code * refactor(api-page-builder): remove redundant code * refactor(api-page-builder): rename importPages * feat(api): add import export page handler name to graphql env * feat(api-page-builder): implement exportPages and importPages mutation * feat(api-page-builder): add pageImportExportTask * refactor(app-page-builder): update import and export page gql * refactor(api-page-builder): update pages.gql schema * chore: update workspaces pacakges * chore(api-page-builder): add unzipper as dependencies * test(api-page-builder): remove redundant test code * chore: update yarn lock file * feat(app-page-builder): add assets * feat(app-page-builder): implement Import Pages UI * feat(app-page-builder): add className prop to Accordion component * feat(app-admin): add style prop to Dialog * feat(api-page-builder): save page data in subtask after completion update page title after page creation * feat(api-page-builder): add getPageImportExportSubTaskByStatus GQL query * refactor(app-page-builder): remove redundant code * feat(app-page-builder): close CategoriesDialog after select * feat(api-page-builder): add revisionType to exportPages GQL * feat(app-page-builder): implement export pages UI * feat(app-page-builder): add useMultiSelect hook for pages * feat(app-page-builder): add export page button in multiselect action * refactor(app-page-builder): update PbExportPages GQL * fix(api-page-builder): move error out of data in import pages * feat(app-page-builder): add cancel icon * feat(app-page-builder): update export pages UI * feat(app-page-builder): add exportPageData to PageBuilderContext * feat(app-page-builder): add getValue param to useMultiSelect * feat(ui): add data to multiSelect props in DataList * fix(app-page-builder): update page import export UI * fix(api-page-builder): remove zip files after export * refactor(api-page-builder): use s3Stream helpers remove redundant code * feat(api-page-builder-import-export): extract import export page logic into separate package * refactor(api-page-builder): remove redundant code * refactor(api): use api-page-builder-import-export package * chore: update yarn lock * fix(api-page-builder): modify context correctly * fix(api): add pageBuilderImportExportPlugins * feat(app-page-builder): add data-testid prop * test: add addMatchImageSnapshotPlugin cypress command * test: add import export pages workflow e2e test * chore: add cypress-image-snapshot as dev dependency * chore: add clipboard permission * feat(api-page-builder-import-export-so-ddb): add ddb only storage operations package * feat(api-page-builder-import-export): use storageOperations in pageImportExportTasks crud * feat(api-page-builder-import-export): add params for crud plugins * refactor(api-page-builder-import-export): update GQL schema rename getPageImportExportSubTaskByStatus to listPageImportExportSubTask * test(api-page-builder-import-export): add test for pageImportExportTask * test(api-page-builder-import-export): add jest setup file * feat(api-page-builder-import-export): update types with storageOperations * chore(api-page-builder-import-export): update dependencies and ts configs * feat(api): add pageBuilderDynamoDbElasticsearchPlugins and page task storageOperations * chore: update yarn lock * refactor(app-page-builder): update GQL schema use listPageImportExportSubTask query * feat(api-page-builder-import-export-so-ddb): add updateTaskStats method to storageOperations * feat(api-page-builder-import-export): add updateStats to PageImportExportTaskStorageOperations * refactor(api-page-builder-import-export): use updateStats from pageImportExportTask remove updateMainTask helper * test(api-page-builder-import-export): add test for updateStats * chore: update yarn lock * feat(api): add PageImportExport lambda resources for prod env * feat(cwp-template-aws): add exportPages and importPages packages in api code * feat(cwp-template-aws): add resources for page import export * feat(cwp-template-aws): add pageBuilderImportExportPlugins to graphql lambda code * fix(cwp-template-aws): update workspaces packages * refactor(api-page-builder-import-export): update PageImportExportTaskStorageOperations type * refactor(api-page-builder-import-export): use limit param to listTasks * feat(cli): update upgrade command for 5.16.0 addNewFiles * chore(cli): add fs-extra as dependency * chore: update yarn lock * chore: ran prettier * refactor(cli): rename addNewFiles to copyFolders
- Loading branch information