90 lines
2.5 KiB
JavaScript
90 lines
2.5 KiB
JavaScript
// 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);
|
|
}
|
|
};
|