simply filePaths handling
This commit is contained in:
parent
b0b54661c2
commit
ff04c9c89c
|
@ -1,7 +1,6 @@
|
|||
import { FILE_TYPE } from 'constants/file';
|
||||
import { LIVE_PHOTO_ASSET_SIZE_LIMIT } from 'constants/upload';
|
||||
import { encodeMotionPhoto } from 'services/motionPhotoService';
|
||||
import { FileMagicMetadata } from 'types/file';
|
||||
import {
|
||||
ElectronFile,
|
||||
FileTypeInfo,
|
||||
|
@ -62,12 +61,8 @@ export function getLivePhotoMetadata(
|
|||
};
|
||||
}
|
||||
|
||||
export function getLivePhotoMagicMetadata(
|
||||
imageFile: FileWithCollection
|
||||
): FileMagicMetadata['data'] {
|
||||
return {
|
||||
filePaths: [getLivePhotoName((imageFile.file as any).path as string)],
|
||||
};
|
||||
export function getLivePhotoFilePath(imageAsset: Asset): string {
|
||||
return getLivePhotoName((imageAsset.file as any).path);
|
||||
}
|
||||
|
||||
export function getLivePhotoSize(livePhotoAssets: LivePhotoAssets) {
|
||||
|
@ -198,12 +193,11 @@ export function clusterLivePhotoFiles(mediaFiles: FileWithCollection[]) {
|
|||
imageAsset.metadata,
|
||||
videoAsset.metadata
|
||||
);
|
||||
const livePhotoMagicMetadata: FileMagicMetadata['data'] =
|
||||
getLivePhotoMagicMetadata(firstMediaFile);
|
||||
const livePhotoPath = getLivePhotoFilePath(imageAsset);
|
||||
uploadService.setFileMetadataAndFileTypeInfo(livePhotoLocalID, {
|
||||
fileTypeInfo: { ...livePhotoFileTypeInfo },
|
||||
metadata: { ...livePhotoMetadata },
|
||||
magicMetadata: { ...livePhotoMagicMetadata },
|
||||
filePath: livePhotoPath,
|
||||
});
|
||||
index += 2;
|
||||
} else {
|
||||
|
|
|
@ -6,7 +6,7 @@ import {
|
|||
sortFiles,
|
||||
preservePhotoswipeProps,
|
||||
decryptFile,
|
||||
changeFilePaths,
|
||||
appendFilePath,
|
||||
} from 'utils/file';
|
||||
import { logError } from 'utils/sentry';
|
||||
import { getMetadataJSONMapKey, parseMetadataJSON } from './metadataService';
|
||||
|
@ -20,7 +20,7 @@ import UIService from './uiService';
|
|||
import UploadService from './uploadService';
|
||||
import { CustomError } from 'utils/error';
|
||||
import { Collection } from 'types/collection';
|
||||
import { EnteFile, FileMagicMetadata } from 'types/file';
|
||||
import { EnteFile } from 'types/file';
|
||||
import {
|
||||
FileWithCollection,
|
||||
MetadataAndFileTypeInfo,
|
||||
|
@ -230,7 +230,7 @@ class UploadManager {
|
|||
UIService.reset(mediaFiles.length);
|
||||
for (const { file, localID, collectionID } of mediaFiles) {
|
||||
try {
|
||||
const { fileTypeInfo, metadata, magicMetadata } =
|
||||
const { fileTypeInfo, metadata, filePath } =
|
||||
await (async () => {
|
||||
if (file.size >= MAX_FILE_SIZE_SUPPORTED) {
|
||||
logUploadInfo(
|
||||
|
@ -260,10 +260,8 @@ class UploadManager {
|
|||
collectionID,
|
||||
fileTypeInfo
|
||||
)) || null;
|
||||
const magicMetadata = {
|
||||
filePaths: [(file as any).path as string],
|
||||
} as FileMagicMetadata['data'];
|
||||
return { fileTypeInfo, metadata, magicMetadata };
|
||||
const filePath = (file as any).path as string;
|
||||
return { fileTypeInfo, metadata, filePath };
|
||||
})();
|
||||
|
||||
logUploadInfo(
|
||||
|
@ -274,7 +272,7 @@ class UploadManager {
|
|||
this.metadataAndFileTypeInfoMap.set(localID, {
|
||||
fileTypeInfo: fileTypeInfo && { ...fileTypeInfo },
|
||||
metadata: metadata && { ...metadata },
|
||||
magicMetadata: magicMetadata && { ...magicMetadata },
|
||||
filePath: filePath,
|
||||
});
|
||||
UIService.increaseFileUploaded();
|
||||
} catch (e) {
|
||||
|
@ -341,14 +339,15 @@ class UploadManager {
|
|||
this.existingFiles,
|
||||
fileWithCollection
|
||||
);
|
||||
const filePaths = UploadService.getFileMetadataAndFileTypeInfo(
|
||||
const filePath = UploadService.getFileMetadataAndFileTypeInfo(
|
||||
fileWithCollection.localID
|
||||
).magicMetadata.filePaths;
|
||||
await changeFilePaths(
|
||||
).filePath;
|
||||
|
||||
await appendFilePath(
|
||||
fileUploadResult,
|
||||
uploadedFile,
|
||||
fileWithCollection.collection.key,
|
||||
filePaths
|
||||
filePath
|
||||
);
|
||||
UIService.moveFileToResultList(
|
||||
fileWithCollection.localID,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { FILE_TYPE } from 'constants/file';
|
||||
import { Collection } from 'types/collection';
|
||||
import { fileAttribute, FileMagicMetadata } from 'types/file';
|
||||
import { fileAttribute } from 'types/file';
|
||||
|
||||
export interface DataStream {
|
||||
stream: ReadableStream<Uint8Array>;
|
||||
|
@ -92,7 +92,7 @@ export interface FileWithCollection extends UploadAsset {
|
|||
export interface MetadataAndFileTypeInfo {
|
||||
metadata: Metadata;
|
||||
fileTypeInfo: FileTypeInfo;
|
||||
magicMetadata: FileMagicMetadata['data'];
|
||||
filePath: string;
|
||||
}
|
||||
|
||||
export type MetadataAndFileTypeInfoMap = Map<number, MetadataAndFileTypeInfo>;
|
||||
|
|
|
@ -454,23 +454,23 @@ export async function changeFileName(file: EnteFile, editedName: string) {
|
|||
return file;
|
||||
}
|
||||
|
||||
export const changeFilePaths = async (
|
||||
export const appendFilePath = async (
|
||||
fileUploadResult: UPLOAD_RESULT,
|
||||
file: EnteFile,
|
||||
collectionKey: string,
|
||||
filePaths: string[]
|
||||
filePath: string
|
||||
) => {
|
||||
if (
|
||||
fileUploadResult === UPLOAD_RESULT.UPLOADED ||
|
||||
fileUploadResult === UPLOAD_RESULT.ALREADY_UPLOADED ||
|
||||
fileUploadResult === UPLOAD_RESULT.UPLOADED_WITH_STATIC_THUMBNAIL
|
||||
) {
|
||||
let mergedMetadataFilePaths = [...filePaths];
|
||||
let mergedMetadataFilePaths = [filePath];
|
||||
if (file.magicMetadata?.data.filePaths?.length > 0) {
|
||||
mergedMetadataFilePaths = [
|
||||
...new Set([
|
||||
...file.magicMetadata.data.filePaths,
|
||||
...filePaths,
|
||||
...mergedMetadataFilePaths,
|
||||
]),
|
||||
];
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue