From 3270bdd392aaa2527ac29f1f3e6a6c69d0551d49 Mon Sep 17 00:00:00 2001 From: karishmas6 Date: Wed, 16 Oct 2024 00:46:40 +0530 Subject: [PATCH] feat: error handling --- server/src/models/Run.ts | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/server/src/models/Run.ts b/server/src/models/Run.ts index 4d11aa2c..13162c77 100644 --- a/server/src/models/Run.ts +++ b/server/src/models/Run.ts @@ -44,19 +44,36 @@ class Run extends Model implements RunAttr public async uploadBinaryOutputToMinioBucket(key: string, data: Buffer): Promise { const bucketName = 'maxun-run-screenshots'; - await minioClient.putObject(bucketName, key, data); - this.binaryOutput[key] = `minio://${bucketName}/${key}`; + + try { + console.log(`Uploading to bucket ${bucketName} with key ${key}`); + await minioClient.putObject(bucketName, key, data); + this.binaryOutput[key] = `minio://${bucketName}/${key}`; + console.log(`Successfully uploaded to MinIO: minio://${bucketName}/${key}`); + } catch (error) { + console.error(`Error uploading to MinIO bucket: ${bucketName} with key: ${key}`, error); + } } public async getBinaryOutputFromMinioBucket(key: string): Promise { const bucketName = 'maxun-run-screenshots'; - const stream = await minioClient.getObject(bucketName, key); - return new Promise((resolve, reject) => { - const chunks: Buffer[] = []; - stream.on('data', (chunk) => chunks.push(chunk)); - stream.on('end', () => resolve(Buffer.concat(chunks))); - stream.on('error', reject); - }); + + try { + console.log(`Fetching from bucket ${bucketName} with key ${key}`); + const stream = await minioClient.getObject(bucketName, key); + return new Promise((resolve, reject) => { + const chunks: Buffer[] = []; + stream.on('data', (chunk) => chunks.push(chunk)); + stream.on('end', () => resolve(Buffer.concat(chunks))); + stream.on('error', (error) => { + console.error('Error while reading the stream from MinIO:', error); + reject(error); + }); + }); + } catch (error) { + console.error(`Error fetching from MinIO bucket: ${bucketName} with key: ${key}`, error); + throw error; + } } }