moved uploaderName to pub magic metadata
This commit is contained in:
parent
3ae701775a
commit
aa8c467ea7
|
@ -22,6 +22,7 @@ import {
|
|||
getUint8ArrayView,
|
||||
} from '../readerService';
|
||||
import { generateThumbnail } from './thumbnailService';
|
||||
import { EncryptedMagicMetadataCore } from 'types/magicMetadata';
|
||||
|
||||
const EDITED_FILE_SUFFIX = '-edited';
|
||||
|
||||
|
@ -110,6 +111,16 @@ export async function encryptFile(
|
|||
const { file: encryptedMetadata }: EncryptionResult =
|
||||
await worker.encryptMetadata(file.metadata, fileKey);
|
||||
|
||||
const { file: encryptedPubMagicMetadataData }: EncryptionResult =
|
||||
await worker.encryptMetadata(file.pubMagicMetadata.data, fileKey);
|
||||
|
||||
const encryptedPubMagicMetadata: EncryptedMagicMetadataCore = {
|
||||
version: file.pubMagicMetadata.version,
|
||||
count: file.pubMagicMetadata.count,
|
||||
data: encryptedPubMagicMetadataData.encryptedData as unknown as string,
|
||||
header: encryptedPubMagicMetadataData.decryptionHeader,
|
||||
};
|
||||
|
||||
const encryptedKey: B64EncryptionResult = await worker.encryptToB64(
|
||||
fileKey,
|
||||
encryptionKey
|
||||
|
@ -120,6 +131,7 @@ export async function encryptFile(
|
|||
file: encryptedFiledata,
|
||||
thumbnail: encryptedThumbnail,
|
||||
metadata: encryptedMetadata,
|
||||
pubMagicMetadata: encryptedPubMagicMetadata,
|
||||
localID: file.localID,
|
||||
},
|
||||
fileKey: encryptedKey,
|
||||
|
|
17
src/services/upload/magicMetadataService.ts
Normal file
17
src/services/upload/magicMetadataService.ts
Normal file
|
@ -0,0 +1,17 @@
|
|||
import {
|
||||
FilePublicMagicMetadataProps,
|
||||
FilePublicMagicMetadata,
|
||||
} from 'types/file';
|
||||
import { NEW_FILE_MAGIC_METADATA } from 'types/magicMetadata';
|
||||
import { updateMagicMetadataProps } from 'utils/magicMetadata';
|
||||
|
||||
export async function constructPublicMagicMetadata(
|
||||
publicMagicMetadataProps: FilePublicMagicMetadataProps
|
||||
): Promise<FilePublicMagicMetadata> {
|
||||
const pubMagicMetadata = await updateMagicMetadataProps(
|
||||
NEW_FILE_MAGIC_METADATA,
|
||||
null,
|
||||
publicMagicMetadataProps
|
||||
);
|
||||
return pubMagicMetadata;
|
||||
}
|
|
@ -35,6 +35,8 @@ import { uploadStreamUsingMultipart } from './multiPartUploadService';
|
|||
import UIService from './uiService';
|
||||
import { USE_CF_PROXY } from 'constants/upload';
|
||||
import publicUploadHttpClient from './publicUploadHttpClient';
|
||||
import { constructPublicMagicMetadata } from './magicMetadataService';
|
||||
import { FilePublicMagicMetadataProps } from 'types/file';
|
||||
|
||||
class UploadService {
|
||||
private uploadURLs: UploadURL[] = [];
|
||||
|
@ -142,6 +144,12 @@ class UploadService {
|
|||
return clusterLivePhotoFiles(mediaFiles);
|
||||
}
|
||||
|
||||
constructPublicMagicMetadata(
|
||||
publicMagicMetadataProps: FilePublicMagicMetadataProps
|
||||
) {
|
||||
return constructPublicMagicMetadata(publicMagicMetadataProps);
|
||||
}
|
||||
|
||||
async encryptAsset(
|
||||
worker: any,
|
||||
file: FileWithMetadata,
|
||||
|
@ -203,6 +211,7 @@ class UploadService {
|
|||
objectKey: thumbnailObjectKey,
|
||||
},
|
||||
metadata: file.metadata,
|
||||
pubMagicMetadata: file.pubMagicMetadata,
|
||||
};
|
||||
return backupedFile;
|
||||
} catch (e) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { EnteFile } from 'types/file';
|
||||
import { EnteFile, FilePublicMagicMetadata } from 'types/file';
|
||||
import { handleUploadError, CustomError } from 'utils/error';
|
||||
import { logError } from 'utils/sentry';
|
||||
import { findMatchingExistingFiles } from 'utils/upload';
|
||||
|
@ -6,12 +6,18 @@ import UIService from './uiService';
|
|||
import UploadService from './uploadService';
|
||||
import { FILE_TYPE } from 'constants/file';
|
||||
import { UPLOAD_RESULT, MAX_FILE_SIZE_SUPPORTED } from 'constants/upload';
|
||||
import { FileWithCollection, BackupedFile, UploadFile } from 'types/upload';
|
||||
import {
|
||||
FileWithCollection,
|
||||
BackupedFile,
|
||||
UploadFile,
|
||||
FileWithMetadata,
|
||||
} from 'types/upload';
|
||||
import { addLocalLog, addLogLine } from 'utils/logging';
|
||||
import { convertBytesToHumanReadable } from 'utils/file/size';
|
||||
import { sleep } from 'utils/common';
|
||||
import { addToCollection } from 'services/collectionService';
|
||||
import uploadCancelService from './uploadCancelService';
|
||||
import uploadService from './uploadService';
|
||||
|
||||
interface UploadResponse {
|
||||
fileUploadResult: UPLOAD_RESULT;
|
||||
|
@ -104,14 +110,18 @@ export default async function uploader(
|
|||
if (file.hasStaticThumbnail) {
|
||||
metadata.hasStaticThumbnail = true;
|
||||
}
|
||||
let pubMagicMetadata: FilePublicMagicMetadata;
|
||||
if (uploaderName) {
|
||||
metadata.uploaderName = uploaderName;
|
||||
pubMagicMetadata = await uploadService.constructPublicMagicMetadata(
|
||||
{ uploaderName }
|
||||
);
|
||||
}
|
||||
const fileWithMetadata = {
|
||||
const fileWithMetadata: FileWithMetadata = {
|
||||
localID,
|
||||
filedata: file.filedata,
|
||||
thumbnail: file.thumbnail,
|
||||
metadata,
|
||||
pubMagicMetadata,
|
||||
};
|
||||
|
||||
if (uploadCancelService.isUploadCancelationRequested()) {
|
||||
|
|
|
@ -20,6 +20,7 @@ export interface FilePublicMagicMetadataProps {
|
|||
editedTime?: number;
|
||||
editedName?: string;
|
||||
caption?: string;
|
||||
uploaderName?: string;
|
||||
}
|
||||
|
||||
export interface FilePublicMagicMetadata
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { FILE_TYPE } from 'constants/file';
|
||||
import { Collection } from 'types/collection';
|
||||
import { fileAttribute } from 'types/file';
|
||||
import { fileAttribute, FilePublicMagicMetadata } from 'types/file';
|
||||
import { EncryptedMagicMetadataCore } from 'types/magicMetadata';
|
||||
|
||||
export interface DataStream {
|
||||
stream: ReadableStream<Uint8Array>;
|
||||
|
@ -27,7 +28,6 @@ export interface Metadata {
|
|||
hash?: string;
|
||||
imageHash?: string;
|
||||
videoHash?: string;
|
||||
uploaderName?: string;
|
||||
}
|
||||
|
||||
export interface Location {
|
||||
|
@ -120,6 +120,7 @@ export interface FileWithMetadata
|
|||
extends Omit<FileInMemory, 'hasStaticThumbnail'> {
|
||||
metadata: Metadata;
|
||||
localID: number;
|
||||
pubMagicMetadata: FilePublicMagicMetadata;
|
||||
}
|
||||
|
||||
export interface EncryptedFile {
|
||||
|
@ -130,6 +131,7 @@ export interface ProcessedFile {
|
|||
file: fileAttribute;
|
||||
thumbnail: fileAttribute;
|
||||
metadata: fileAttribute;
|
||||
pubMagicMetadata: EncryptedMagicMetadataCore;
|
||||
localID: number;
|
||||
}
|
||||
export interface BackupedFile extends Omit<ProcessedFile, 'localID'> {}
|
||||
|
|
Loading…
Reference in a new issue