move decryption of file to postUpload task and log uploaded file

This commit is contained in:
Abhinav 2022-05-17 22:58:32 +05:30
parent 7f9564fd88
commit 3ecb6b8482
2 changed files with 24 additions and 12 deletions

View file

@ -5,6 +5,7 @@ import {
sortFilesIntoCollections,
sortFiles,
preservePhotoswipeProps,
decryptFile,
} from 'utils/file';
import { logError } from 'utils/sentry';
import { getMetadataJSONMapKey, parseMetadataJSON } from './metadataService';
@ -310,7 +311,7 @@ class UploadManager {
this.existingFilesCollectionWise.get(collectionID) ?? [];
const collection = this.collections.get(collectionID);
const { fileUploadResult, file } = await uploader(
const { fileUploadResult, uploadedFile } = await uploader(
worker,
reader,
existingFilesInCollection,
@ -324,7 +325,7 @@ class UploadManager {
UploadService.reducePendingUploadCount();
await this.postUploadTask(
fileUploadResult,
file,
uploadedFile,
fileWithCollection
);
}
@ -332,21 +333,34 @@ class UploadManager {
async postUploadTask(
fileUploadResult: FileUploadResults,
file: EnteFile,
uploadedFile: EnteFile,
fileWithCollection: FileWithCollection
) {
try {
logUploadInfo(`uploadedFile ${JSON.stringify(uploadedFile)}`);
if (fileUploadResult === FileUploadResults.UPLOADED) {
this.existingFiles.push(file);
const decryptedFile = await decryptFile(
uploadedFile,
fileWithCollection.collection.key
);
this.existingFiles.push(decryptedFile);
this.existingFiles = sortFiles(this.existingFiles);
await setLocalFiles(this.existingFiles);
this.setFiles(preservePhotoswipeProps(this.existingFiles));
if (!this.existingFilesCollectionWise.has(file.collectionID)) {
this.existingFilesCollectionWise.set(file.collectionID, []);
if (
!this.existingFilesCollectionWise.has(
decryptedFile.collectionID
)
) {
this.existingFilesCollectionWise.set(
decryptedFile.collectionID,
[]
);
}
this.existingFilesCollectionWise
.get(file.collectionID)
.push(file);
.get(decryptedFile.collectionID)
.push(decryptedFile);
}
if (
fileUploadResult === FileUploadResults.FAILED ||

View file

@ -1,6 +1,5 @@
import { EnteFile } from 'types/file';
import { handleUploadError, CustomError } from 'utils/error';
import { decryptFile } from 'utils/file';
import { logError } from 'utils/sentry';
import {
fileAlreadyInCollection,
@ -23,7 +22,7 @@ import isElectron from 'is-electron';
interface UploadResponse {
fileUploadResult: FileUploadResults;
file?: EnteFile;
uploadedFile?: EnteFile;
}
export default async function uploader(
worker: any,
@ -111,14 +110,13 @@ export default async function uploader(
logUploadInfo(`uploadFile ${fileNameSize}`);
const uploadedFile = await UploadHttpClient.uploadFile(uploadFile);
const decryptedFile = await decryptFile(uploadedFile, collection.key);
UIService.increaseFileUploaded();
logUploadInfo(`${fileNameSize} successfully uploaded`);
return {
fileUploadResult: FileUploadResults.UPLOADED,
file: decryptedFile,
uploadedFile: uploadedFile,
};
} catch (e) {
logUploadInfo(