From b651d16ee50c48bb1b9f79fac3714b84527493e7 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Tue, 2 Nov 2021 17:31:53 +0530 Subject: [PATCH] skip shared-collections during export --- src/components/ExportModal.tsx | 9 +++++++-- src/services/exportService.ts | 7 ++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/components/ExportModal.tsx b/src/components/ExportModal.tsx index a03d4b722..de604e0a1 100644 --- a/src/components/ExportModal.tsx +++ b/src/components/ExportModal.tsx @@ -8,6 +8,7 @@ import exportService, { ExportType, } from 'services/exportService'; import { getLocalFiles } from 'services/fileService'; +import { User } from 'services/userService'; import styled from 'styled-components'; import { sleep } from 'utils/common'; import { getExportRecordFileUID } from 'utils/export'; @@ -105,12 +106,16 @@ export default function ExportModal(props: Props) { return; } const main = async () => { + const user: User = getData(LS_KEYS.USER); if (exportStage === ExportStage.FINISHED) { const localFiles = await getLocalFiles(); + const userPersonalFiles = localFiles.filter( + (file) => file.ownerID === user?.id + ); const exportRecord = await exportService.getExportRecord(); const exportedFileCnt = exportRecord.exportedFiles.length; const failedFilesCnt = exportRecord.failedFiles.length; - const syncedFilesCnt = localFiles.length; + const syncedFilesCnt = userPersonalFiles.length; if (syncedFilesCnt > exportedFileCnt + failedFilesCnt) { updateExportProgress({ current: exportedFileCnt + failedFilesCnt, @@ -120,7 +125,7 @@ export default function ExportModal(props: Props) { ...exportRecord.exportedFiles, ...exportRecord.failedFiles, ]); - const unExportedFiles = localFiles.filter( + const unExportedFiles = userPersonalFiles.filter( (file) => !exportFileUIDs.has(getExportRecordFileUID(file)) ); diff --git a/src/services/exportService.ts b/src/services/exportService.ts index 6f0e69eea..eb553b8de 100644 --- a/src/services/exportService.ts +++ b/src/services/exportService.ts @@ -22,6 +22,7 @@ import { fileNameWithoutExtension, generateStreamFromArrayBuffer, } from 'utils/file'; +import { User } from './userService'; export interface ExportProgress { current: number; @@ -111,6 +112,10 @@ class ExportService { collections, allFiles ); + const user: User = getData(LS_KEYS.USER); + const userCollections = nonEmptyCollections.filter( + (collection) => collection.owner.id === user?.id + ); const exportRecord = await this.getExportRecord(exportDir); if (exportType === ExportType.NEW) { @@ -125,7 +130,7 @@ class ExportService { } this.exportInProgress = this.fileExporter( filesToExport, - nonEmptyCollections, + userCollections, updateProgress, exportDir );