import { minioClient } from "../../config/minioClient"; export const removeBucket = async (bucketName: string) => { try { // Check if the bucket exists before proceeding const bucketExists = await minioClient.bucketExists(bucketName); if (!bucketExists) { return { status: 404, message: `Bucket ${bucketName} does not exist` }; } // List objects in the bucket, which returns a stream const objects = minioClient.listObjects(bucketName); // Iterate over the stream of objects using 'for await...of' for await (const obj of objects) { await minioClient.removeObject(bucketName, obj.name); console.log(`Removed object: ${obj.name}`); } // Now remove the bucket after clearing all objects await minioClient.removeBucket(bucketName); return { status: 200, message: `Bucket ${bucketName} and its data removed successfully` }; } catch (error: any) { console.log(`Error removing bucket ${bucketName}: ${error.message}`); return { status: 500, message: `Error removing bucket ${bucketName}: ${error.message}` }; } };