// ENVIRONMENT require('dotenv').config(); const { badRequestResponse, successResponse } = require("../res/responses.js"); const { deleteBucket, createBucket, getAllBuckets, renameBucket, setBucketPolicy } = require('../services/minio.services.js'); // ================= CONTROLLERS ================= // exports.deleteOneBucket = async (req, res) => { try { const { bucketName } = req.body; if (!bucketName) { return badRequestResponse(res, "bucketName is required"); } await deleteBucket(bucketName); return successResponse(res, "Bucket deleted successfully", null); } catch (err) { return badRequestResponse(res, "Internal Server Error", err.message || err); } }; exports.createOneBucket = async (req, res) => { try { const { bucketName } = req.body; if (!bucketName) { return badRequestResponse(res, "bucketName is required"); } await createBucket(bucketName); return successResponse(res, "Bucket created successfully", null); } catch (err) { return badRequestResponse(res, "Internal Server Error", err.message || err); } }; exports.getAllBuckets = async (req, res) => { try { const buckets = await getAllBuckets(); return successResponse(res, "Buckets fetched successfully", buckets); } catch (err) { return badRequestResponse(res, "Internal Server Error", err.message || err); } }; exports.updateBucket = async (req, res) => { try { const { oldBucket, newBucket, policy } = req.body; if (!oldBucket || !newBucket) { return badRequestResponse(res, "oldBucket and newBucket are required"); } await renameBucket(oldBucket, newBucket); if (policy) { await setBucketPolicy(newBucket, policy); } return successResponse(res, "Bucket updated successfully", { oldBucket, newBucket, policy }); } catch (err) { return badRequestResponse(res, "Internal Server Error", err.message || err); } }; exports.updateBucketPolicy = async (req, res) => { try { const { bucketName, policy } = req.body; if (!bucketName || !policy) { return badRequestResponse(res, "bucketName and policy are required"); } await setBucketPolicy(bucketName, policy); return successResponse(res, "Bucket policy updated successfully", { bucketName, policy }); } catch (err) { return badRequestResponse(res, "Internal Server Error", err.message || err); } };