From 4b9bbe76e752187871a2a3510f2c3be837b05796 Mon Sep 17 00:00:00 2001 From: Abhinav Date: Fri, 23 Dec 2022 13:23:03 +0530 Subject: [PATCH] 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;