From 7f1a718c0f56fde29012d4c36815b6319cc8c381 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Fri, 23 Dec 2022 13:06:34 +0530 Subject: [PATCH 1/7] created LocalFileAttributes type and used it in upload types --- src/types/upload/index.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/types/upload/index.ts b/src/types/upload/index.ts index 6ec47594d..74ee29b43 100644 --- a/src/types/upload/index.ts +++ b/src/types/upload/index.ts @@ -1,6 +1,6 @@ import { FILE_TYPE } from 'constants/file'; import { Collection } from 'types/collection'; -import { fileAttribute, FilePublicMagicMetadata } from 'types/file'; +import { FilePublicMagicMetadata } from 'types/file'; import { EncryptedMagicMetadataCore } from 'types/magicMetadata'; export interface DataStream { @@ -12,8 +12,15 @@ export function isDataStream(object: any): object is DataStream { return 'stream' in object; } -export interface EncryptionResult { - file: fileAttribute; +export interface LocalFileAttributes< + T extends string | Uint8Array | DataStream +> { + encryptedData: T; + decryptionHeader: string; +} + +export interface EncryptionResult { + file: LocalFileAttributes; key: string; } @@ -122,9 +129,9 @@ export interface EncryptedFile { fileKey: B64EncryptionResult; } export interface ProcessedFile { - file: fileAttribute; - thumbnail: fileAttribute; - metadata: fileAttribute; + file: LocalFileAttributes; + thumbnail: LocalFileAttributes; + metadata: LocalFileAttributes; pubMagicMetadata: EncryptedMagicMetadataCore; localID: number; } From 4b9bbe76e752187871a2a3510f2c3be837b05796 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Fri, 23 Dec 2022 13:23:03 +0530 Subject: [PATCH 2/7] update to use the new EncryptionResult type --- src/services/collectionService.ts | 4 ++-- src/services/fileService.ts | 8 ++++---- src/services/migrateThumbnailService.ts | 6 +++--- src/services/upload/encryptionService.ts | 2 +- src/services/upload/fileService.ts | 17 +++++++++-------- src/services/upload/uploadService.ts | 4 ++-- src/types/file/index.ts | 4 ++-- src/types/upload/index.ts | 9 +++++++-- 8 files changed, 30 insertions(+), 24 deletions(-) diff --git a/src/services/collectionService.ts b/src/services/collectionService.ts index 3f6d67027..a45a78d75 100644 --- a/src/services/collectionService.ts +++ b/src/services/collectionService.ts @@ -521,7 +521,7 @@ export const updateCollectionMagicMetadata = async (collection: Collection) => { const worker = await new CryptoWorker(); - const { file: encryptedMagicMetadata }: EncryptionResult = + const { file: encryptedMagicMetadata }: EncryptionResult = await worker.encryptMetadata( collection.magicMetadata.data, collection.key @@ -532,7 +532,7 @@ export const updateCollectionMagicMetadata = async (collection: Collection) => { magicMetadata: { version: collection.magicMetadata.version, count: collection.magicMetadata.count, - data: encryptedMagicMetadata.encryptedData as unknown as string, + data: encryptedMagicMetadata.encryptedData, header: encryptedMagicMetadata.decryptionHeader, }, }; diff --git a/src/services/fileService.ts b/src/services/fileService.ts index f7c66e113..c739c2cbd 100644 --- a/src/services/fileService.ts +++ b/src/services/fileService.ts @@ -252,14 +252,14 @@ export const updateFileMagicMetadata = async (files: EnteFile[]) => { const reqBody: BulkUpdateMagicMetadataRequest = { metadataList: [] }; const worker = await new CryptoWorker(); for (const file of files) { - const { file: encryptedMagicMetadata }: EncryptionResult = + const { file: encryptedMagicMetadata }: EncryptionResult = await worker.encryptMetadata(file.magicMetadata.data, file.key); reqBody.metadataList.push({ id: file.id, magicMetadata: { version: file.magicMetadata.version, count: file.magicMetadata.count, - data: encryptedMagicMetadata.encryptedData as unknown as string, + data: encryptedMagicMetadata.encryptedData, header: encryptedMagicMetadata.decryptionHeader, }, }); @@ -286,14 +286,14 @@ export const updateFilePublicMagicMetadata = async (files: EnteFile[]) => { const reqBody: BulkUpdateMagicMetadataRequest = { metadataList: [] }; const worker = await new CryptoWorker(); for (const file of files) { - const { file: encryptedPubMagicMetadata }: EncryptionResult = + const { file: encryptedPubMagicMetadata }: EncryptionResult = await worker.encryptMetadata(file.pubMagicMetadata.data, file.key); reqBody.metadataList.push({ id: file.id, magicMetadata: { version: file.pubMagicMetadata.version, count: file.pubMagicMetadata.count, - data: encryptedPubMagicMetadata.encryptedData as unknown as string, + data: encryptedPubMagicMetadata.encryptedData, header: encryptedPubMagicMetadata.decryptionHeader, }, }); diff --git a/src/services/migrateThumbnailService.ts b/src/services/migrateThumbnailService.ts index 90a86b71d..d296ad70d 100644 --- a/src/services/migrateThumbnailService.ts +++ b/src/services/migrateThumbnailService.ts @@ -107,19 +107,19 @@ export async function uploadThumbnail( updatedThumbnail: Uint8Array, uploadURL: UploadURL ): Promise { - const { file: encryptedThumbnail }: EncryptionResult = + const { file: encryptedThumbnail }: EncryptionResult = await worker.encryptThumbnail(updatedThumbnail, fileKey); let thumbnailObjectKey: string = null; if (USE_CF_PROXY) { thumbnailObjectKey = await uploadHttpClient.putFileV2( uploadURL, - encryptedThumbnail.encryptedData as Uint8Array, + encryptedThumbnail.encryptedData, () => {} ); } else { thumbnailObjectKey = await uploadHttpClient.putFile( uploadURL, - encryptedThumbnail.encryptedData as Uint8Array, + encryptedThumbnail.encryptedData, () => {} ); } diff --git a/src/services/upload/encryptionService.ts b/src/services/upload/encryptionService.ts index edbc4864b..a46bef979 100644 --- a/src/services/upload/encryptionService.ts +++ b/src/services/upload/encryptionService.ts @@ -33,7 +33,7 @@ async function encryptFileStream(worker, fileData: DataStream) { export async function encryptFiledata( worker, filedata: Uint8Array | DataStream -): Promise { +): Promise> { return isDataStream(filedata) ? await encryptFileStream(worker, filedata) : await worker.encryptFile(filedata); diff --git a/src/services/upload/fileService.ts b/src/services/upload/fileService.ts index fbcae69d1..e52509c99 100644 --- a/src/services/upload/fileService.ts +++ b/src/services/upload/fileService.ts @@ -106,22 +106,23 @@ export async function encryptFile( file.filedata ); - const { file: encryptedThumbnail }: EncryptionResult = + const { file: encryptedThumbnail }: EncryptionResult = await worker.encryptThumbnail(file.thumbnail, fileKey); - const { file: encryptedMetadata }: EncryptionResult = + const { file: encryptedMetadata }: EncryptionResult = await worker.encryptMetadata(file.metadata, fileKey); let encryptedPubMagicMetadata: EncryptedMagicMetadataCore; if (file.pubMagicMetadata) { - const { file: encryptedPubMagicMetadataData }: EncryptionResult = - await worker.encryptMetadata( - file.pubMagicMetadata.data, - fileKey - ); + const { + file: encryptedPubMagicMetadataData, + }: EncryptionResult = await worker.encryptMetadata( + file.pubMagicMetadata.data, + fileKey + ); encryptedPubMagicMetadata = { version: file.pubMagicMetadata.version, count: file.pubMagicMetadata.count, - data: encryptedPubMagicMetadataData.encryptedData as unknown as string, + data: encryptedPubMagicMetadataData.encryptedData, header: encryptedPubMagicMetadataData.decryptionHeader, }; } diff --git a/src/services/upload/uploadService.ts b/src/services/upload/uploadService.ts index 3b50396c1..eed94d611 100644 --- a/src/services/upload/uploadService.ts +++ b/src/services/upload/uploadService.ts @@ -175,13 +175,13 @@ class UploadService { if (USE_CF_PROXY) { thumbnailObjectKey = await UploadHttpClient.putFileV2( thumbnailUploadURL, - file.thumbnail.encryptedData as Uint8Array, + file.thumbnail.encryptedData, null ); } else { thumbnailObjectKey = await UploadHttpClient.putFile( thumbnailUploadURL, - file.thumbnail.encryptedData as Uint8Array, + file.thumbnail.encryptedData, null ); } diff --git a/src/types/file/index.ts b/src/types/file/index.ts index 4ecdaa6fe..54ddfcd3a 100644 --- a/src/types/file/index.ts +++ b/src/types/file/index.ts @@ -1,8 +1,8 @@ import { MagicMetadataCore, VISIBILITY_STATE } from 'types/magicMetadata'; -import { DataStream, Metadata } from 'types/upload'; +import { Metadata } from 'types/upload'; export interface fileAttribute { - encryptedData?: DataStream | Uint8Array; + encryptedData?: string; objectKey?: string; decryptionHeader: string; } diff --git a/src/types/upload/index.ts b/src/types/upload/index.ts index 74ee29b43..042754e70 100644 --- a/src/types/upload/index.ts +++ b/src/types/upload/index.ts @@ -1,6 +1,6 @@ import { FILE_TYPE } from 'constants/file'; import { Collection } from 'types/collection'; -import { FilePublicMagicMetadata } from 'types/file'; +import { fileAttribute, FilePublicMagicMetadata } from 'types/file'; import { EncryptedMagicMetadataCore } from 'types/magicMetadata'; export interface DataStream { @@ -135,7 +135,12 @@ export interface ProcessedFile { pubMagicMetadata: EncryptedMagicMetadataCore; localID: number; } -export interface BackupedFile extends Omit {} +export interface BackupedFile { + file: fileAttribute; + thumbnail: fileAttribute; + metadata: fileAttribute; + pubMagicMetadata: EncryptedMagicMetadataCore; +} export interface UploadFile extends BackupedFile { collectionID: number; From 73417bdb7e88cee6ce17210075b8facdc660d442 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Sun, 4 Dec 2022 22:56:57 +0530 Subject: [PATCH 3/7] split FileAttribute type into 3 separate sub types --- src/services/migrateThumbnailService.ts | 6 +++--- src/types/file/index.ts | 19 ++++++++++++++----- src/types/upload/index.ts | 8 ++++---- src/utils/file/index.ts | 4 ++-- 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/services/migrateThumbnailService.ts b/src/services/migrateThumbnailService.ts index d296ad70d..016fdcd6d 100644 --- a/src/services/migrateThumbnailService.ts +++ b/src/services/migrateThumbnailService.ts @@ -11,7 +11,7 @@ import { SetProgressTracker } from 'components/FixLargeThumbnail'; import { getFileType } from 'services/typeDetectionService'; import { getLocalTrash, getTrashedFiles } from './trashService'; import { EncryptionResult, UploadURL } from 'types/upload'; -import { fileAttribute } from 'types/file'; +import { FileAttributes } from 'types/file'; import { USE_CF_PROXY } from 'constants/upload'; const ENDPOINT = getEndpoint(); @@ -106,7 +106,7 @@ export async function uploadThumbnail( fileKey: string, updatedThumbnail: Uint8Array, uploadURL: UploadURL -): Promise { +): Promise { const { file: encryptedThumbnail }: EncryptionResult = await worker.encryptThumbnail(updatedThumbnail, fileKey); let thumbnailObjectKey: string = null; @@ -131,7 +131,7 @@ export async function uploadThumbnail( export async function updateThumbnail( fileID: number, - newThumbnail: fileAttribute + newThumbnail: FileAttributes ) { try { const token = getToken(); diff --git a/src/types/file/index.ts b/src/types/file/index.ts index 54ddfcd3a..1329a7977 100644 --- a/src/types/file/index.ts +++ b/src/types/file/index.ts @@ -1,12 +1,21 @@ import { MagicMetadataCore, VISIBILITY_STATE } from 'types/magicMetadata'; import { Metadata } from 'types/upload'; -export interface fileAttribute { - encryptedData?: string; - objectKey?: string; +interface FileAttributesBase { decryptionHeader: string; } +interface MetadataFileAttributes extends FileAttributesBase { + encryptedData: string; + objectKey?: string; +} +interface S3FileAttributes extends FileAttributesBase { + objectKey: string; + encryptedData?: string; +} + +export type FileAttributes = MetadataFileAttributes | S3FileAttributes; + export interface FileMagicMetadataProps { visibility?: VISIBILITY_STATE; filePaths?: string[]; @@ -37,8 +46,8 @@ export interface EnteFile { id: number; collectionID: number; ownerID: number; - file: fileAttribute; - thumbnail: fileAttribute; + file: FileAttributes; + thumbnail: FileAttributes; metadata: Metadata; info: EnteFileInfo; magicMetadata: FileMagicMetadata; diff --git a/src/types/upload/index.ts b/src/types/upload/index.ts index 042754e70..893e3d6e5 100644 --- a/src/types/upload/index.ts +++ b/src/types/upload/index.ts @@ -1,6 +1,6 @@ import { FILE_TYPE } from 'constants/file'; import { Collection } from 'types/collection'; -import { fileAttribute, FilePublicMagicMetadata } from 'types/file'; +import { FileAttributes, FilePublicMagicMetadata } from 'types/file'; import { EncryptedMagicMetadataCore } from 'types/magicMetadata'; export interface DataStream { @@ -136,9 +136,9 @@ export interface ProcessedFile { localID: number; } export interface BackupedFile { - file: fileAttribute; - thumbnail: fileAttribute; - metadata: fileAttribute; + file: FileAttributes; + thumbnail: FileAttributes; + metadata: FileAttributes; pubMagicMetadata: EncryptedMagicMetadataCore; } diff --git a/src/utils/file/index.ts b/src/utils/file/index.ts index 9c3ff6c54..b030c9d20 100644 --- a/src/utils/file/index.ts +++ b/src/utils/file/index.ts @@ -1,7 +1,7 @@ import { SelectedState } from 'types/gallery'; import { EnteFile, - fileAttribute, + FileAttributes, FileMagicMetadataProps, FilePublicMagicMetadataProps, } from 'types/file'; @@ -199,7 +199,7 @@ export async function decryptFile(file: EnteFile, collectionKey: string) { file.keyDecryptionNonce, collectionKey ); - const encryptedMetadata = file.metadata as unknown as fileAttribute; + const encryptedMetadata = file.metadata as unknown as FileAttributes; file.metadata = await worker.decryptMetadata( encryptedMetadata.encryptedData, encryptedMetadata.decryptionHeader, From 4b4367245a7e7f73c6ddaf87a0395d3a5f84f0c3 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Fri, 23 Dec 2022 14:52:31 +0530 Subject: [PATCH 4/7] move magicMetadata types to its own type file --- src/types/file/index.ts | 25 ++----------------------- src/types/magicMetadata/index.ts | 21 +++++++++++++++++++++ src/types/upload/index.ts | 9 ++++++--- src/utils/file/index.ts | 18 +++++++++--------- 4 files changed, 38 insertions(+), 35 deletions(-) diff --git a/src/types/file/index.ts b/src/types/file/index.ts index b4d2ceb5e..0dc8b3b1b 100644 --- a/src/types/file/index.ts +++ b/src/types/file/index.ts @@ -1,7 +1,7 @@ import { EncryptedMagicMetadata, - MagicMetadataCore, - VISIBILITY_STATE, + FileMagicMetadata, + FilePublicMagicMetadata, } from 'types/magicMetadata'; import { Metadata } from 'types/upload'; @@ -68,27 +68,6 @@ export interface EnteFile dataIndex?: number; } -export interface FileMagicMetadataProps { - visibility?: VISIBILITY_STATE; - filePaths?: string[]; -} - -export interface FileMagicMetadata extends Omit { - data: FileMagicMetadataProps; -} - -export interface FilePublicMagicMetadataProps { - editedTime?: number; - editedName?: string; - caption?: string; - uploaderName?: string; -} - -export interface FilePublicMagicMetadata - extends Omit { - data: FilePublicMagicMetadataProps; -} - export interface TrashRequest { items: TrashRequestItems[]; } diff --git a/src/types/magicMetadata/index.ts b/src/types/magicMetadata/index.ts index 89bfeec25..b89c021e5 100644 --- a/src/types/magicMetadata/index.ts +++ b/src/types/magicMetadata/index.ts @@ -10,6 +10,27 @@ export interface EncryptedMagicMetadata data: string; } +export interface FileMagicMetadataProps { + visibility?: VISIBILITY_STATE; + filePaths?: string[]; +} + +export interface FileMagicMetadata extends Omit { + data: FileMagicMetadataProps; +} + +export interface FilePublicMagicMetadataProps { + editedTime?: number; + editedName?: string; + caption?: string; + uploaderName?: string; +} + +export interface FilePublicMagicMetadata + extends Omit { + data: FilePublicMagicMetadataProps; +} + export enum VISIBILITY_STATE { VISIBLE = 0, ARCHIVED = 1, diff --git a/src/types/upload/index.ts b/src/types/upload/index.ts index 4ccaef98a..701df6264 100644 --- a/src/types/upload/index.ts +++ b/src/types/upload/index.ts @@ -1,7 +1,10 @@ import { FILE_TYPE } from 'constants/file'; import { Collection } from 'types/collection'; -import { FilePublicMagicMetadata, FileAttributes } from 'types/file'; -import { EncryptedMagicMetadata } from 'types/magicMetadata'; +import { FileAttributes } from 'types/file'; +import { + EncryptedMagicMetadata, + FilePublicMagicMetadata, +} from 'types/magicMetadata'; export interface DataStream { stream: ReadableStream; @@ -132,7 +135,7 @@ export interface ProcessedFile { file: LocalFileAttributes; thumbnail: LocalFileAttributes; metadata: LocalFileAttributes; - pubMagicMetadata: EncryptedMagicMetadata; + pubMagicMetadata: FilePublicMagicMetadata; localID: number; } export interface BackupedFile { diff --git a/src/utils/file/index.ts b/src/utils/file/index.ts index a429fad95..5a08ca0ac 100644 --- a/src/utils/file/index.ts +++ b/src/utils/file/index.ts @@ -1,12 +1,5 @@ import { SelectedState } from 'types/gallery'; -import { - EnteFile, - EncryptedEnteFile, - FileMagicMetadata, - FileMagicMetadataProps, - FilePublicMagicMetadata, - FilePublicMagicMetadataProps, -} from 'types/file'; +import { EnteFile, EncryptedEnteFile } from 'types/file'; import { decodeMotionPhoto } from 'services/motionPhotoService'; import { getFileType } from 'services/typeDetectionService'; import DownloadManager from 'services/downloadManager'; @@ -25,7 +18,14 @@ import { import PublicCollectionDownloadManager from 'services/publicCollectionDownloadManager'; import heicConversionService from 'services/heicConversionService'; import * as ffmpegService from 'services/ffmpeg/ffmpegService'; -import { NEW_FILE_MAGIC_METADATA, VISIBILITY_STATE } from 'types/magicMetadata'; +import { + FileMagicMetadata, + FileMagicMetadataProps, + FilePublicMagicMetadata, + FilePublicMagicMetadataProps, + NEW_FILE_MAGIC_METADATA, + VISIBILITY_STATE, +} from 'types/magicMetadata'; import { IsArchived, updateMagicMetadataProps } from 'utils/magicMetadata'; import { addLogLine } from 'utils/logging'; From a1e62597f4c311197933f25c17a3adf88f297afa Mon Sep 17 00:00:00 2001 From: Abhinav Date: Fri, 23 Dec 2022 14:58:35 +0530 Subject: [PATCH 5/7] fix type --- src/services/upload/magicMetadataService.ts | 5 +++-- src/services/upload/uploadManager.ts | 4 ++-- src/services/upload/uploadService.ts | 2 +- src/services/upload/uploader.ts | 3 ++- src/services/watchFolder/watchFolderService.ts | 6 +++--- src/types/upload/index.ts | 2 +- src/utils/magicMetadata/index.ts | 8 ++++++-- 7 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/services/upload/magicMetadataService.ts b/src/services/upload/magicMetadataService.ts index 209ebcc72..6b519594a 100644 --- a/src/services/upload/magicMetadataService.ts +++ b/src/services/upload/magicMetadataService.ts @@ -1,8 +1,9 @@ +import {} from 'types/file'; import { + NEW_FILE_MAGIC_METADATA, FilePublicMagicMetadataProps, FilePublicMagicMetadata, -} from 'types/file'; -import { NEW_FILE_MAGIC_METADATA } from 'types/magicMetadata'; +} from 'types/magicMetadata'; import { updateMagicMetadataProps } from 'utils/magicMetadata'; export async function constructPublicMagicMetadata( diff --git a/src/services/upload/uploadManager.ts b/src/services/upload/uploadManager.ts index 810af6366..f548a5704 100644 --- a/src/services/upload/uploadManager.ts +++ b/src/services/upload/uploadManager.ts @@ -360,7 +360,7 @@ class UploadManager { await this.watchFolderCallback( fileUploadResult, fileWithCollection, - decryptedFile + uploadedFile as EncryptedEnteFile ); return fileUploadResult; } catch (e) { @@ -372,7 +372,7 @@ class UploadManager { private async watchFolderCallback( fileUploadResult: UPLOAD_RESULT, fileWithCollection: FileWithCollection, - uploadedFile: EnteFile + uploadedFile: EncryptedEnteFile ) { if (isElectron()) { await watchFolderService.onFileUpload( diff --git a/src/services/upload/uploadService.ts b/src/services/upload/uploadService.ts index eed94d611..c7f72afb7 100644 --- a/src/services/upload/uploadService.ts +++ b/src/services/upload/uploadService.ts @@ -35,7 +35,7 @@ import UIService from './uiService'; import { USE_CF_PROXY } from 'constants/upload'; import publicUploadHttpClient from './publicUploadHttpClient'; import { constructPublicMagicMetadata } from './magicMetadataService'; -import { FilePublicMagicMetadataProps } from 'types/file'; +import { FilePublicMagicMetadataProps } from 'types/magicMetadata'; class UploadService { private uploadURLs: UploadURL[] = []; diff --git a/src/services/upload/uploader.ts b/src/services/upload/uploader.ts index ad49ab099..b98b5700f 100644 --- a/src/services/upload/uploader.ts +++ b/src/services/upload/uploader.ts @@ -1,4 +1,4 @@ -import { EnteFile, FilePublicMagicMetadata } from 'types/file'; +import { EnteFile } from 'types/file'; import { handleUploadError, CustomError } from 'utils/error'; import { logError } from 'utils/sentry'; import { findMatchingExistingFiles } from 'utils/upload'; @@ -19,6 +19,7 @@ import { sleep } from 'utils/common'; import { addToCollection } from 'services/collectionService'; import uploadCancelService from './uploadCancelService'; import uploadService from './uploadService'; +import { FilePublicMagicMetadata } from 'types/magicMetadata'; interface UploadResponse { fileUploadResult: UPLOAD_RESULT; diff --git a/src/services/watchFolder/watchFolderService.ts b/src/services/watchFolder/watchFolderService.ts index 951c0b08b..13dcc7a69 100644 --- a/src/services/watchFolder/watchFolderService.ts +++ b/src/services/watchFolder/watchFolderService.ts @@ -1,5 +1,5 @@ import { Collection } from 'types/collection'; -import { EnteFile } from 'types/file'; +import { EncryptedEnteFile } from 'types/file'; import { ElectronFile, FileWithCollection } from 'types/upload'; import { runningInBrowser } from 'utils/common'; import { removeFromCollection } from '../collectionService'; @@ -33,7 +33,7 @@ class watchFolderService { private trashingDirQueue: string[] = []; private isEventRunning: boolean = false; private uploadRunning: boolean = false; - private filePathToUploadedFileIDMap = new Map(); + private filePathToUploadedFileIDMap = new Map(); private unUploadableFilePaths = new Set(); private isPaused = false; private setElectronFiles: (files: ElectronFile[]) => void; @@ -295,7 +295,7 @@ class watchFolderService { async onFileUpload( fileUploadResult: UPLOAD_RESULT, fileWithCollection: FileWithCollection, - file: EnteFile + file: EncryptedEnteFile ) { addLocalLog(() => `onFileUpload called`); if (!this.isUploadRunning()) { diff --git a/src/types/upload/index.ts b/src/types/upload/index.ts index 701df6264..64be4f807 100644 --- a/src/types/upload/index.ts +++ b/src/types/upload/index.ts @@ -135,7 +135,7 @@ export interface ProcessedFile { file: LocalFileAttributes; thumbnail: LocalFileAttributes; metadata: LocalFileAttributes; - pubMagicMetadata: FilePublicMagicMetadata; + pubMagicMetadata: EncryptedMagicMetadata; localID: number; } export interface BackupedFile { diff --git a/src/utils/magicMetadata/index.ts b/src/utils/magicMetadata/index.ts index 2a1171ff3..34684e848 100644 --- a/src/utils/magicMetadata/index.ts +++ b/src/utils/magicMetadata/index.ts @@ -1,6 +1,10 @@ import { Collection } from 'types/collection'; -import { EnteFile, FileMagicMetadataProps } from 'types/file'; -import { MagicMetadataCore, VISIBILITY_STATE } from 'types/magicMetadata'; +import { EnteFile } from 'types/file'; +import { + FileMagicMetadataProps, + MagicMetadataCore, + VISIBILITY_STATE, +} from 'types/magicMetadata'; import CryptoWorker from 'utils/crypto'; export function IsArchived(item: Collection | EnteFile) { From 74c1e212b485de37d2d56bacdc5b0a12b9049184 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Fri, 23 Dec 2022 15:24:07 +0530 Subject: [PATCH 6/7] remove empty import --- src/services/upload/magicMetadataService.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/services/upload/magicMetadataService.ts b/src/services/upload/magicMetadataService.ts index 6b519594a..cb286b281 100644 --- a/src/services/upload/magicMetadataService.ts +++ b/src/services/upload/magicMetadataService.ts @@ -1,4 +1,3 @@ -import {} from 'types/file'; import { NEW_FILE_MAGIC_METADATA, FilePublicMagicMetadataProps, From c2063b64e4978a2e2d9641dd66fcccfb296973a1 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Fri, 23 Dec 2022 15:51:33 +0530 Subject: [PATCH 7/7] add else block --- src/services/publicCollectionService.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/services/publicCollectionService.ts b/src/services/publicCollectionService.ts index b5144ccd5..78e563f28 100644 --- a/src/services/publicCollectionService.ts +++ b/src/services/publicCollectionService.ts @@ -262,8 +262,9 @@ const getPublicFiles = async ( resp.data.diff.map(async (file: EncryptedEnteFile) => { if (!file.isDeleted) { return await decryptFile(file, collection.key); + } else { + return file; } - return file; }) as Promise[] )), ];