diff --git a/src/context/local/localFile/infrastructure/EnvironmentLocalFileUploader.ts b/src/context/local/localFile/infrastructure/EnvironmentLocalFileUploader.ts index 9f466773d..54b813da2 100644 --- a/src/context/local/localFile/infrastructure/EnvironmentLocalFileUploader.ts +++ b/src/context/local/localFile/infrastructure/EnvironmentLocalFileUploader.ts @@ -9,11 +9,10 @@ import { Either, left, right } from '../../../shared/domain/Either'; import { DriveDesktopError } from '../../../shared/domain/errors/DriveDesktopError'; import { deleteFileContentIPC } from '../../../../infra/ipc/files-ipc'; import { logger } from '@internxt/drive-desktop-core/build/backend'; +import { MULTIPART_UPLOAD_SIZE_THRESHOLD } from '../../../shared/domain/UploadConstants'; @Service() export class EnvironmentLocalFileUploader implements LocalFileHandler { - private static MULTIPART_UPLOAD_SIZE_THRESHOLD = 100 * 1024 * 1024; // 100MB - constructor( private readonly environment: Environment, private readonly bucket: string, @@ -21,7 +20,7 @@ export class EnvironmentLocalFileUploader implements LocalFileHandler { upload(path: AbsolutePath, size: number, abortSignal: AbortSignal): Promise> { const fn: UploadStrategyFunction = - size > EnvironmentLocalFileUploader.MULTIPART_UPLOAD_SIZE_THRESHOLD + size > MULTIPART_UPLOAD_SIZE_THRESHOLD ? this.environment.uploadMultipartFile.bind(this.environment) : this.environment.upload.bind(this.environment); @@ -35,7 +34,7 @@ export class EnvironmentLocalFileUploader implements LocalFileHandler { const state = fn(this.bucket, { source: readable, fileSize: size, - finishedCallback: (err: Error | null, contentsId: string) => { + finishedCallback: (err, contentsId) => { readable.close(); stopwatch.finish(); @@ -47,6 +46,11 @@ export class EnvironmentLocalFileUploader implements LocalFileHandler { return resolve(left(new DriveDesktopError('UNKNOWN'))); } + if (!contentsId) { + logger.error({ tag: 'SYNC-ENGINE', msg: '[ENVLFU UPLOAD ERROR] No contentsId returned' }); + return resolve(left(new DriveDesktopError('UNKNOWN'))); + } + resolve(right(contentsId)); }, progressCallback: (progress: number) => { diff --git a/src/context/shared/domain/UploadConstants.ts b/src/context/shared/domain/UploadConstants.ts new file mode 100644 index 000000000..59b138a1f --- /dev/null +++ b/src/context/shared/domain/UploadConstants.ts @@ -0,0 +1 @@ +export const MULTIPART_UPLOAD_SIZE_THRESHOLD = 100 * 1024 * 1024; diff --git a/src/context/storage/TemporalFiles/infrastructure/downloader/TemporalFileDownloaderFactory.ts b/src/context/storage/TemporalFiles/infrastructure/downloader/TemporalFileDownloaderFactory.ts index a16ca7a40..040c57f56 100644 --- a/src/context/storage/TemporalFiles/infrastructure/downloader/TemporalFileDownloaderFactory.ts +++ b/src/context/storage/TemporalFiles/infrastructure/downloader/TemporalFileDownloaderFactory.ts @@ -7,6 +7,7 @@ import { EnvironmentTemporalFileUploader } from '../upload/EnvironmentTemporalFi import { TemporalFileUploaderFactory } from '../../domain/upload/TemporalFileUploaderFactory'; import { Replaces } from '../../domain/upload/Replaces'; import { TemporalFile } from '../../domain/TemporalFile'; +import { MULTIPART_UPLOAD_SIZE_THRESHOLD } from '../../../../shared/domain/UploadConstants'; @Service() export class TemporalFileDownloaderFactory implements TemporalFileUploaderFactory { @@ -15,8 +16,6 @@ export class TemporalFileDownloaderFactory implements TemporalFileUploaderFactor private _replaces: Replaces | undefined = undefined; private _abortController: AbortController | undefined = undefined; - private static MULTIPART_UPLOAD_SIZE_THRESHOLD = 100 * 1024 * 1024; // 100MB - constructor( private readonly environment: Environment, private readonly bucket: string, @@ -94,7 +93,7 @@ export class TemporalFileDownloaderFactory implements TemporalFileUploaderFactor } const fn = - document.size.value > TemporalFileDownloaderFactory.MULTIPART_UPLOAD_SIZE_THRESHOLD + document.size.value > MULTIPART_UPLOAD_SIZE_THRESHOLD ? this.environment.uploadMultipartFile : this.environment.upload; diff --git a/src/context/storage/TemporalFiles/infrastructure/upload/EnvironmentTemporalFileUploaderFactory.ts b/src/context/storage/TemporalFiles/infrastructure/upload/EnvironmentTemporalFileUploaderFactory.ts index 4db2f7a3b..becd588ed 100644 --- a/src/context/storage/TemporalFiles/infrastructure/upload/EnvironmentTemporalFileUploaderFactory.ts +++ b/src/context/storage/TemporalFiles/infrastructure/upload/EnvironmentTemporalFileUploaderFactory.ts @@ -7,6 +7,7 @@ import { EnvironmentTemporalFileUploader } from './EnvironmentTemporalFileUpload import { TemporalFileUploaderFactory } from '../../domain/upload/TemporalFileUploaderFactory'; import { Replaces } from '../../domain/upload/Replaces'; import { TemporalFile } from '../../domain/TemporalFile'; +import { MULTIPART_UPLOAD_SIZE_THRESHOLD } from '../../../../shared/domain/UploadConstants'; @Service() export class EnvironmentTemporalFileUploaderFactory implements TemporalFileUploaderFactory { @@ -15,8 +16,6 @@ export class EnvironmentTemporalFileUploaderFactory implements TemporalFileUploa private _replaces: Replaces | undefined = undefined; private _abortController: AbortController | undefined = undefined; - private static MULTIPART_UPLOAD_SIZE_THRESHOLD = 100 * 1024 * 1024; // 100MB - constructor( private readonly environment: Environment, private readonly bucket: string, @@ -94,7 +93,7 @@ export class EnvironmentTemporalFileUploaderFactory implements TemporalFileUploa } const fn = - document.size.value > EnvironmentTemporalFileUploaderFactory.MULTIPART_UPLOAD_SIZE_THRESHOLD + document.size.value > MULTIPART_UPLOAD_SIZE_THRESHOLD ? this.environment.uploadMultipartFile.bind(this.environment) : this.environment.upload.bind(this.environment);