export const uploadImageToBitbucketServer= async (req, res) => {
const { fileUrl } = req.body;
try {
const fileResponse = await fetch(fileUrl);
const fileBuffer = await fileResponse.buffer();
const fileName = path.basename(fileUrl);
const filePath = `static/img/${fileName}`;
const commitMessage = `Add image ${fileName}`;
const formData = new FormData();
formData.append("message", commitMessage);
formData.append("branch", branchName);
formData.append("file", fileBuffer, { filename: fileName });
const bitbucketResponse = await fetch(apiEndpoint, {
method: "POST",
headers: {
Authorization: `Basic ${Buffer.from(`${bitbucketUsername}:${appPassword}`).toString("base64")}`,
...formData.getHeaders(),
},
body: formData,
});
if (!bitbucketResponse.ok) {
throw new Error(
`Failed to upload image to Bitbucket: ${bitbucketResponse.statusText}`
);
}
const data = await bitbucketResponse.json();
res.json({ imageUrl });
} catch (error) {
console.error("Error uploading image:", error);
res.status(500).json({ error: error.message });
}
};