diff --git a/package.json b/package.json index d0894f3..f6897c8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@internxt/inxt-js", "author": "Internxt ", - "version": "3.2.1", + "version": "3.2.2", "description": "", "main": "build/index.js", "types": "build/index.d.ts", diff --git a/src/lib/core/download/downloadV2.ts b/src/lib/core/download/downloadV2.ts index d2f7672..c60ee1c 100644 --- a/src/lib/core/download/downloadV2.ts +++ b/src/lib/core/download/downloadV2.ts @@ -10,7 +10,6 @@ import { getStream } from '../../../services/request'; import { GenerateFileKey, sha256 } from '../../utils/crypto'; import { Events as ProgressEvents, HashStream, ProgressNotifier } from '../../utils/streams'; import { DownloadProgressCallback } from '.'; -import Errors from './errors'; import { ChunkSizeTransform } from '../../utils/streams/Chunker'; import { AppDetails } from '@internxt/sdk/dist/shared'; @@ -60,7 +59,7 @@ export function downloadFileV2( const decryptFileStep: DecryptFileFunction = async (algorithm, key, iv, fileSize) => { if (algorithm !== ALGORITHMS.AES256CTR.type) { - throw Errors.downloadUnknownAlgorithmError; + throw new Error(`Invalid algorithm: ${algorithm}.`); } const decipher = createDecipheriv('aes-256-ctr', key as Buffer, iv as Buffer); @@ -88,7 +87,7 @@ export function downloadFileV2( const expectedHash = fileEncryptedSlice.hash; if (calculatedHash !== expectedHash) { - throw Errors.downloadHashMismatchError; + throw new Error(`Hash mismatch. Expected: ${expectedHash}. Got: ${calculatedHash}.`); } } @@ -101,9 +100,7 @@ export function downloadFileV2( mnemonic, network, { - validateMnemonic: (mnemonic) => { - return validateMnemonic(mnemonic); - }, + validateMnemonic, algorithm: ALGORITHMS.AES256CTR, randomBytes, generateFileKey: (mnemonic, bucketId, index) => { diff --git a/src/lib/core/download/errors.ts b/src/lib/core/download/errors.ts deleted file mode 100644 index 479c642..0000000 --- a/src/lib/core/download/errors.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * DOWNLOAD ERROR CODES: 1XXX - * UPLOAD ERROR CODES: 2XXX - * CRYPTOGRAPHY ERROR CODES: 1/2 + 1XX - */ - -enum ErrorCodes { - DownloadHashMismatch = 1000, - DownloadUnknownAlgorithm = 1100, - UploadUnknownAlgorithm = 2100, -} - -class CodeError extends Error { - constructor( - protected errorMessage: string, - protected errorCode: number, - ) { - super(`${errorMessage} (ERRNO: ${errorCode})`); - } -} - -class DownloadError extends CodeError { - constructor(protected errorCode: number) { - super('Download failed', errorCode); - } -} - -class UploadError extends CodeError { - constructor(protected errorCode: number) { - super('Upload failed', errorCode); - } -} - -export default { - ErrorCodes, - downloadHashMismatchError: new DownloadError(ErrorCodes.DownloadHashMismatch), - downloadUnknownAlgorithmError: new DownloadError(ErrorCodes.DownloadUnknownAlgorithm), - uploadUnknownAlgorithmError: new UploadError(ErrorCodes.UploadUnknownAlgorithm), -}; diff --git a/src/lib/core/upload/uploadV2.ts b/src/lib/core/upload/uploadV2.ts index 7e6d747..5c38e8e 100644 --- a/src/lib/core/upload/uploadV2.ts +++ b/src/lib/core/upload/uploadV2.ts @@ -9,7 +9,6 @@ import { ALGORITHMS, Crypto, Network } from '@internxt/sdk/dist/network'; import { GenerateFileKey, sha256 } from '../../utils/crypto'; import { Events as ProgressEvents, HashStream, ProgressNotifier } from '../../utils/streams'; -import Errors from '../download/errors'; import { UploadProgressCallback } from '.'; import { logger } from '../../utils/logger'; import { uploadParts } from './multipart'; @@ -67,7 +66,7 @@ async function uploadFileV2( logger.debug('Encrypting file using %s (key %s, iv %s)...', algorithm, key.toString('hex'), iv.toString('hex')); if (algorithm !== ALGORITHMS.AES256CTR.type) { - throw Errors.uploadUnknownAlgorithmError; + throw new Error(`Invalid algorithm: ${algorithm}.`); } cipher = createCipheriv('aes-256-ctr', key as Buffer, iv as Buffer); @@ -118,7 +117,7 @@ async function uploadFileMultipart( logger.debug('Encrypting file using %s (key %s, iv %s)...', algorithm, key.toString('hex'), iv.toString('hex')); if (algorithm !== ALGORITHMS.AES256CTR.type) { - throw Errors.uploadUnknownAlgorithmError; + throw new Error(`Invalid algorithm: ${algorithm}.`); } cipher = createCipheriv('aes-256-ctr', key as Buffer, iv as Buffer);